资讯专栏INFORMATION COLUMN

Terraform初体验(一) windows安装

Tecode / 2462人阅读

摘要:是一款优秀的开源工具,中文文档较少,特此整理相关内容及使用方法。安装在上安装还是相对简单的,由于缺少中文文档相关介绍内容,在上安装也有踩了一些坑。操作后再次执行命令即可完成安装。安装完成后执行可查看当前安装版本,并检查安装成功。

Terraform是一款优秀的开源devops工具,中文文档较少,特此整理Terraform相关内容及使用方法。

Terraform是什么?

在原始的数据中心应用部署中,我们依赖于运维管理员手动去部署我们的基础设施和服务,每一台服务器、每一个数据每一个负载均衡都需要手工配置和管理。这些在我们现在看起来是非常恐怖的,手工带来的错误配置、缓慢的部署方式都让公司的运营陷入黑暗,公司的基础设施和服务开始依赖于人的基数增长。好的消息是计算机领域发展了多年,devops的概念在公司的运营运维中开始崭露头角,现在已经涌现了很多优秀的开源产品,今天要给大家介绍一款功能强大的devops工具:terraform。

Terraform是一款用于安全有效地构建,更改和版本控制基础结构的工具。Terraform可以管理现有数据中心资源和主流云服务提供商资源,以及定制的内部解决方案。

题外话:terraform的母公司HashiCorp在今年5月份停止了包括terraform在内的多款软件企业版的中国使用权,但这不会影响开源产品的使用,在这不想过多介绍其中的起末,只想说开源产品是不属于某一家公司或者国家的,我们国家也有很多优秀的工程师为开源项目贡献,开源既是众人拾柴火焰高,也是世界沟通的桥梁,大家可以在安全可控的范畴使用开源产品。

言归正传,Terraform是Go语言开发的开源项目,github。Terraform主要功能是:

  • 基础设施即代码(Infrastructure as Code):基础设施是使用高级配置语法来描述的。这样就可以像对待任何其他代码一样对数据中心的蓝图进行版本控制和处理。此外,基础架构可以共享和重复使用。
  • 执行计划(Execution Plans):Terraform有一个“计划”步骤,在其中生成执行计划。执行计划将显示Terraform在您调用apply时将执行的操作。这样可以避免Terraform操纵基础结构时出现任何意外。
  • 资源视图(Resource Graph):Terraform构建所有资源的视图,并并行化所有非依赖资源的创建和修改。因此,Terraform尽可能高效地构建基础架构,并且操作员可以洞悉其基础架构中的依赖性。
  • 变更自动化(Change Automation):复杂的变更集可以以最少的人工干预就可以应用于您的基础架构。使用前面提到的执行计划和资源图,您可以准确地知道Terraform将要更改的内容和顺序,从而避免了许多可能的人为错误。

Terraform可以管理现有数据中心资源和主流云服务提供商资源。具体来说就是可以用代码来管理维护IT资源,把之前需要手动操作的一部分任务通过程序来自动化的完成,这样的做的结果非常明显:高效、不容易出错。它提供了对资源和提供者的灵活抽象。该模型允许表示从物理主机、虚拟机、容器、EMail和DNS等所有内容。由于这种灵活性,它可以用来解决许多不同的问题。

这意味着有许多现有的工具与Terraform的功能重叠。但是需要注意的是,Terraform与其他系统并不相互排斥。它可以用于管理小到单个应用程序或大到整个数据中心的不同对象。

Terraform使用配置文件描述管理的组件(小到单个应用程序,大到整个数据中心)。Terraform会生成一个执行计划,描述它将做什么来达到所需的状态,然后执行它来构建所描述的基础结构。随着配置的变化,Terraform 能够确定发生了什么变化,并创建可应用的增量执行计划。

讲了很多概念以后,大家对Terraform有了一个逻辑上的理解,接下来我们开始安装Terraform。

Windows10 安装 Terraform

Terraform在MAC上安装还是相对简单的,由于缺少中文文档相关介绍内容,在Windows上安装也有踩了一些坑。推荐使用chocolatey进行安装。

安装Chocolatey

Chocolatey是一款基于Windows的包管理器,安装后可以轻松的像linux的yum、apt-get包管理器一样来管理你的windows中的应用。使用它来安装terraform的好处就是在后期删除升级都由它来管理,这是非常方便和快速的安装方法。

  1. 以管理员身份打开PowerShell,输入Get-ExecutionPolicy,返回Bypass则代表目前执行的是绕过策略来安装。如果返回的是Restricted受限制的,则需要运行Set-ExecutionPolicy AllSigned 或者 Set-ExecutionPolicy Bypass -Scope Process
  2. 复制下面这条命令即可安装完成,这里没有太多坑。
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString(https://chocolatey.org/install.ps1))

通过Chocolatey安装Terraform

执行命令choco install terraform即可完成安装,中间需要注意:

  1. 如果网络不够好,可能存在安装失败,可以至此链接下载https://releases.hashicorp.com/terraform/0.13.3/terraform_0.13.3_windows_amd64.zip后放至C:Users$userAppDataLocalTempchocolateyterraform0.13.3terraform_0.13.3_windows_amd64.zip目录,其中$user为你的当前用户。
  2. 操作后再次执行命令choco install terraform即可完成安装。

安装完成后执行terraform -v可查看当前安装版本,并检查安装成功。很遗憾的是,没有找到在windows下的命令自动补全方法。

本文作者:UCloud 容器云产品经理 沈旭

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/126003.html

相关文章

  • Terraform体验(二) 第个demo执行

    摘要:初始化在终端中执行。首次执行初始化操作,会有较长的时间去获取中定义的信息,在第一次初始化后没有信息的变化,可以跳过初始化直接开始部署。执行部署命令时,会将的列出来展示给用户,并由用户确定执行。则删除由创建的容器。通过Terraform在本地运行docker nginx前置条件: 1. 安装好windows docker 2. 安装好terraform安装docker安装windows doc...

    Tecode 评论0 收藏0
  • 如何创建高效、经济的Kubernetes集群

    摘要:本文是介绍关于如何创建一个高效的集群,用于在上使用和的开发目的。单击左下角的按钮,忽略警告并强制访问页面。取而代之的,我们将在这里使用,在上创建代理,自动设置这些由服务器管理的集群。 Kubernetes是我主要学习的主题之一。我知道不光是我,还有一定数量的人愿意在工作之余进一步使用和研究它。 本文是介绍关于如何创建一个高效的Kubernetes集群,用于在Scaleway上使用Ter...

    BaronZhang 评论0 收藏0
  • MSYS2体验

    摘要:忧郁辉叔先镇楼作为一名下面开发者,之前工作做为辅助。发现这家伙还不错,这是百度百科的介绍是一个的独立改写版本,主要用于命令行开发环境。与最大的区别是移植了的软件包管理系统其实是与的区别。 showImg(https://segmentfault.com/img/bVbtxcI?w=272&h=484);忧郁辉叔先镇楼作为一名windows下面开发者,之前工作Cygwin做为辅助。前些天...

    ybak 评论0 收藏0
  • Docker体验——踩过的那些坑!

    摘要:原因其实这个报错不需要下载最新文件,而是文件没有放到正确的位置。重启电脑后按或进入界面不同主板型号进入所需按键不同。端口映射环境下可能不存在这个问题坑在下部署了应用服务并进行了端口映射。 2018‎年‎3‎月‎6‎日 Docker安装 环境:windows7 安装包:DockerToolbox-17.10.0-ce.exe (下载地址:http://mirrors.aliyun.co...

    Jrain 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<