玩转阿里云 Terraform(三):Terraform 的安装和加速

简介: 本文以Mac OS为例,详细介绍如何在本地安装Terraform,并在文章最后介绍一种可以加速Terraform安装的方法。

上一篇《玩转阿里云 Terraform(二):Terraform 的几个关键概念》介绍了 Terraform 运行的几个关键概念,掌握了这些名词后,本文将详细介绍如何安装Terraform,为后续的动手实践最准备。

由于Terraform是用Golang语言编写的,并且是一个面向客户端的工具,因此对Terraform的安装等同于安装一个可执行的二进制文件,过程非常简单。本文以Mac OS为例,详细介绍如何在本地安装Terraform,并在文章最后介绍一种可以加速Terraform安装的方法。

1 Terraform 的安装

Terraform 的安装包含Terraform运行主体的安装,Provider和Provisioner等插件的安装。

1.1 Terraform 主体的安装

本文以Mac OS为例,通过三步完成对Terraform的安装:

第一步:下载Terraform版本到本地特定目录并解压
访问Terraform Release页面,点击想要下载的版本(强烈建议下载0.12.x版本,其对Terraform命令和语法规则做了很大的升级)目录,找到Mac系统的 darwin_amd64 包,点击直接下载到特定目录,如 workspace ,或者右键“复制链接地址”手动下载和解压:

$ mkdir workspace && cd workspace
$ wget https://releases.hashicorp.com/terraform/0.12.13/terraform_0.12.13_darwin_amd64.zip
$ unzip terraform_0.12.13_darwin_amd64.zip

第二步:配置安装目录到PATH,以便系统可以识别

$ export PATH=$(PWD):$PATH

# 如果想要永久生效,可以将其配置到Profile变量文件 ~/.bash_profile
$ echo export PATH=$(PWD):$PATH >> ~/.bash_profile
$ source ~/.bash_profile # 执行 source 命令使其生效

第三步:验证是否安装成功

$ terraform version
Terraform v0.12.13

如果想要在其他操作系统上安装Terraform,可以参考官方展示的安装步骤:https://learn.hashicorp.com/terraform/getting-started/install.html#installing-terraform

1.2 插件的安装

插件的安装包括对Provider和Provisioner的安装。插件的安装有两种方式:自动安装和手动安装。

init命令自动安装插件

编写了Terraform模板之后,在模板所在的目录下执行 terraform init , terraform 将会根据模板中指定的Provider和Provisioner的类型或者Provider中的资源类型,自动加载最新的或者指定的Provider版本:

provider "alicloud" {
  profile = "terraform"
  region  = "eu-central-1"
  version = "1.60.0"
}

显示指定Provider及其版本,init 命令将自动下载阿里云Provider 1.60.0 版本:

$ terraform version
Terraform v0.12.8
+ provider.alicloud v1.60.0

如果在模板中不指定Provider,那么定义跟Provider版本相关的resource或者data source, init 命令同样可以完成对应Provider最新版本的下载:

resource "alicloud_vpc" "default" {
  cidr_block = "172.16.0.0/16"
  ...
}

下载插件Package,手动安装插件

除了 init 命令自动下载外,还可以手动完成插件的安装。具体的操作步骤跟安装Terraform主体的方法一样,即访问Provider的下载页面:https://releases.hashicorp.com/terraform-provider-alicloud/ 下载特定版本的Package,并将其解压到Terraform主体所在的目录即可。感兴趣的同学可以尝试以下,本文不再赘述。

值得注意的是,如果模板中定义的Provider的版本与本地安装版本不一致,那么再次运行 init 命令时,将以模板优先。

2 Terraform 安装加速

相信大部分同学在上述的下载和安装过程中,经常会遇到下载失败的问题。这因为Terraform及其Provider等插件的所有发布的Release都存放在海外服务上,国内网络访问时会遇到下载速度慢甚至无法访问的情况。面对在这种情况,Hashicorp目前并未给出好的解决方案。

阿里云为了不影响大家对Terraform以及阿里云Provider的使用,在一款在线工具 CloudShell 上对Terraform进行了预安装,同时对 terraform init 做了加速处理,支持对包括阿里云Provider alicloud 在内的更多Provider,如 docker , helm , kubernetes , local , null , random 等20多种。CloudShell的加速过程可以详见云栖博客《加速Terraform init》。

加速后的CloudShell将 terraform init 初始化的时间从 3min+ 降低到 3-6s ,大大降低了Terraform Provider安装和使用的成本,欢迎大家使用。

目录
相关文章
|
2月前
阿里云Grafana服务支持一键安装Grafana插件
阿里云Grafana服务支持一键安装Grafana插件
69 2
|
2月前
|
Java 关系型数据库 应用服务中间件
阿里云RDS购买Linux完整过程——安装java环境并跑起来tomcat
阿里云RDS购买Linux完整过程——安装java环境并跑起来tomcat
45 0
|
2月前
|
Docker 容器
在docker中安装zookeeper,并且阿里云服务器配置
在docker中安装zookeeper,并且阿里云服务器配置
204 1
|
2月前
|
NoSQL Redis Docker
在docker中安装redis,并且阿里云服务器配置
在docker中安装redis,并且阿里云服务器配置
186 1
|
24天前
|
消息中间件 Kubernetes Kafka
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
16 0
|
1月前
|
存储 弹性计算 Linux
阿里云ECS(CentOS镜像)安装docker
阿里云ECS(CentOS镜像)安装docker
384 0
|
1月前
阿里云Grafana服务支持一键安装Grafana插件
【2月更文挑战第12天】阿里云Grafana服务支持一键安装Grafana插件
29 4
|
6月前
|
Ubuntu Linux Python
可以使用阿里云提供的Linux云主机,然后在其上安装银河麒麟v10sp1
可以使用阿里云提供的Linux云主机,然后在其上安装银河麒麟v10sp1
470 1
|
2月前
|
弹性计算 Linux 数据安全/隐私保护
阿里云幻兽帕鲁服务器搭建教程_神仙级Palworld安装教程
阿里云幻兽帕鲁服务器搭建教程_神仙级Palworld安装教程,阿里云提供了一键部署幻兽帕鲁(Palworld)服务器的便捷服务,让用户可以快速创建和管理自己的游戏服务器,利用计算巢或OOS的幻兽帕鲁程序一键部署Palworld
|
2月前
|
NoSQL 关系型数据库 Linux
阿里云RDS购买Linux——安装redis服务
阿里云RDS购买Linux——安装redis服务
97 0

热门文章

最新文章

推荐镜像

更多