使用 tfenv 管理多个 Terraform 版本
在我的Terraform for Kubernetes 初学者文章中,我使用了 Terraform 11,在下一篇文章中,我将介绍从 Terraform 11 升级到 12。为此做好准备,在本文中,我将向您展示如何使用tfenv是一种工具,可以更轻松地从一个版本转换到另一个版本,以及在您的工作环境中管理多个 Terraform 版本。
安装 tfenv
更多关于 Kubernetes
-
什么是 Kubernetes?
-
电子书:Kubernetes 的存储模式
-
试驾 OpenShift 上手
-
电子书:Kubernetes 入门
-
企业级Kubernetes简介
-
如何用通俗的语言解释 Kubernetes
-
电子书:在您的 Raspberry Pi 家庭实验室上运行 Kubernetes
-
Kubernetes 备忘单
-
电子书:面向 SRE 和系统管理员的 Kubernetes 指南
-
Kubernetes 最新文章
许多编码语言都有工具,允许您根据环境规则在版本之间来回切换。一个示例(tfenv 基于)是rbenv,它允许您选择要使用的Ruby版本。
tfenv 适用于 Linux、macOS 和 Windows;我将介绍使用 Ubuntu 18.04 的 Linux 安装,但该工具的 GitHub 存储库有安装说明用于其他操作系统。
Linux 安装使用了一些 Git 命令(如果您还不熟悉,请查看intro to Git系列)。
首先,在你的${HOME}目录下创建一个.tfenv文件夹:
jess@Athena:~$ mkdir .tfenv
克隆tfenv存储库:
jess@Athena:~$ git clone https://github.com/tfutils/tfenv.git ~/.tfenv
克隆到“/home/jess/.tfenv”...
远程:枚举对象:21,完成。
远程:计数对象:100% (21/21),完成。
远程:压缩对象:100% (19/19),完成。
远程:总计 1105(增量 8),重用 10(增量 2),打包重用 1084
接收对象:100% (1105/1105), 216.01 KiB | 2.84 MiB/s,完成。
解决增量:100% (703/703),完成。
如果你更喜欢Homebrew,你可以使用:
$ brew install tfenv
将您的路径导出到您的 Bash 配置文件中:
jess@Athena:~$ echo 'export PATH="$HOME/.tfenv/bin:$PATH"' >> ~/.bash_profile
如果您只想对基于 Ubuntu/Debian 的系统使用基本命令,还有另一个选项可以让事情变得更容易一些。在.tfenv目录中进行克隆后,将您的配置文件设置为在您的下一个会话中将tfenv命令放入您的配置文件中:
zoz100077
设置配置文件后,您可以将目录符号链接到.local/bin目录,以使tfenv成为可执行二进制文件:
jess@Athena:~/.tfenv$ ln -s ~/.tfenv/bin/* ~/.local/bin
运行which命令,您应该会看到tfenv的位置:
jess@Athena:~/.tfenv$ which tfenv
/home/jess/.local/bin/tfenv
如何使用tfenv
现在一切都已安装,检查可用的命令:
jess@Athena:~$ tfenv
tfenv 2.0.0-37-g0494129
用法:tfenv <command> [<options>]
命令:
install 安装特定版本的 Terraform
使用 切换要使用的版本
uninstall 卸载特定版本的 Terraform
list 列出所有已安装的版本
list-remote 列出所有可安装版本
如您所见,它是一个非常简单的工具,可让您根据需要安装和卸载 Terraform 版本。
在决定安装什么之前,请检查哪些版本可用。这是一个小片段,因为列表大约有一英里长:
jess@Athena:~$ tfenv list-remote
0.14.0-beta1
0.14.0-alpha20201007
0.14.0-alpha20200923
0.14.0-alpha20200910
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.13.0-rc1
0.13.0-beta
0.13.0-beta
0.13.0-beta1
0.12.29
0.12.28
0.12.27
安装 Terraform 版本
要安装最新版本的 Terraform:
jess@Athena:~$ tfenv install latest
安装 Terraform v0.13.5
从 https://releases.hashicorp.com/terraform/0.13.5/terraform_0.13.5_linux_amd64.zip 下载发行版 tarball
################################################# ################################################# ################################################# ################################ 100.0%
从 https://releases.hashicorp.com/terraform/0.13.5/terraform_0.13.5_SHA256SUMS 下载 SHA 哈希文件
未找到密钥库安装,跳过 OpenPGP 签名验证
存档:tfenv_download.N3bzZ2/terraform_0.13.5_linux_amd64.zip
膨胀:/home/jess/.tfenv/versions/0.13.5/terraform
terraform v0.13.5 安装成功。要将其设为默认版本,请运行“tfenv use 0.13.5”
要安装特定的 Terraform 版本(在本例中为 0.12.29):
jess@Athena:~$ tfenv install 0.12.29
安装 Terraform v0.12.29
从 https://releases.hashicorp.com/terraform/0.12.29/terraform_0.12.29_linux_amd64.zip 下载发行版 tarball
################################################# ################################################# ################################################# ################################ 100.0%
从 https://releases.hashicorp.com/terraform/0.12.29/terraform_0.12.29_SHA256SUMS 下载 SHA 哈希文件
未找到密钥库安装,跳过 OpenPGP 签名验证
存档:tfenv_download.1YFOLh/terraform_0.12.29_linux_amd64.zip
膨胀:/home/jess/.tfenv/versions/0.12.29/terraform
terraform v0.12.29 安装成功。要将其设为默认版本,请运行“tfenv use 0.12.29”
最后,安装最新版本的 Terraform 0.11:
jess@Athena:~$ tfenv install latest:^0.11
安装 Terraform v0.11.15-oci
从 https://releases.hashicorp.com/terraform/0.11.15-oci/terraform_0.11.15-oci_linux_amd64.zip 下载发行版 tarball
################################################# ################################################# ################################################# ################################ 100.0%
从 https://releases.hashicorp.com/terraform/0.11.15-oci/terraform_0.11.15-oci_SHA256SUMS 下载 SHA 哈希文件
未找到密钥库安装,跳过 OpenPGP 签名验证
存档:tfenv_download.8OxQ8k/terraform_0.11.15-oci_linux_amd64.zip
膨胀:/home/jess/.tfenv/versions/0.11.15-oci/terraform
terraform v0.11.15-oci 安装成功。要将其设为默认版本,请运行“tfenv use 0.11.15-oci”
这很简单,现在您可以使用它们了!
更改 Terraform 版本
一旦你安装了几个版本的 Terraform,你可以选择一个来使用。首先,通过列出已安装的版本找出您的选项:
jess@Athena:~$ tfenv 列表
0.13.5(由 /home/jess/.tfenv/version 设置)
0.12.29
0.11.15-oci
默认情况下,tfenv 会选择您安装的最新版本的 Terraform。通过运行tfenv use命令找出默认值:
jess@Athena:~$ tfenv 使用
将默认版本切换到 v0.13.5
切换完成
jess@Athena:~$ terraform --version
Terraform v0.13.5
但是,如果您需要使用旧版本怎么办?此示例切换到我安装的最旧版本:
jess@Athena:~$ tfenv 使用 0.11.15-oci
将默认版本切换到 v0.11.15-oci
切换完成
jess@Athena:~$ terraform -version
Terraform v0.11.15-oci
您的 Terraform 版本已过时!最新版本
为 0.13.5。您可以从 www.terraform.io/downloads.html 下载更新
这很容易!只需运行list命令并使用提供的命名约定。
卸载 Terraform 版本
如果您有不再需要或不再需要的 Terraform 版本,可以使用uninstall命令将其删除。例如,我不需要 Terraform 0.13 版:
jess@Athena:~$ tfenv 卸载 0.13.5
卸载 Terraform v0.13.5
Terraform v0.13.5 卸载成功
要确认它不再安装:
jess@Athena:~$ tfenv 列表
0.12.29
0.11.15-oci
最后的想法
tfenv 工具非常棒,原因有很多。如果您需要从一个版本的 Terraform 更新到另一个版本,这是升级和测试结果的更快方法之一。如果您的环境在多个 Terraform 版本上运行,则可以根据需要轻松地来回切换。如果您使用 Terraform,请尝试 tfenv,看看它如何改变您的环境。
更多推荐
所有评论(0)