在我的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,看看它如何改变您的环境。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐