Sử dụng Tfenv để quản lý Terraform version


Lời nói đầu

Chắc hẳn nghe tựa đề các bạn sẽ cảm thấy lạ lẫm. Rằng tại sao lại phải tạo nhiều Terraform version trên cùng một máy chủ làm gì nhỉ? Chứ stable version mà chiến thôi.

Tuy nhiên, nếu ai đã từng làm việc nâng cấp Terraform từ version cũ mèm sang một version mới hơn, thì sẽ hiểu được cảm giác thay đổi version để test qua test lại nó mệt mỏi như thế nào 🙁

Hoặc bạn cần một công cụ nào đó để cài đặt Terraform với một version đặc biệt, có thể chạy trên mọi nền tảng mà không cần quan tâm các công cụ cài quản lý gói như yum, apt, brew,…

Tfenv sinh ra để làm những thứ mình kể trên


Giới thiệu về Tfenv

Tfenv là gì?

Tfenv là một công cụ quản lý các gói cài đặt Terraform. Bạn có thể chuyển đổi linh hoạt giữa nhiều Terraform version một cách dễ dàng.

Cài đặt Tfenv

MacOS

Trên máy Mac, bạn có thể cài đặt Tfenv thông qua brew:

brew install tfenv

Linux

Trên Linux, hiện tại chưa có package cụ thể, nên mình sẽ install thông qua git repository của Tfenv

git clone https://github.com/tfutils/tfenv.git ~/.tfenv
ln -s ~/.tfenv/bin/* /usr/local/bin

Cách sử dụng Tfenv

Kiểm tra versions được hỗ trợ

Tfenv cũng là một công cụ quản lý gói, nên mỗi phiên bản Tfenv chỉ hỗ trợ một số Terraform version nhất định mà thôi. Nên bạn cần kiểm tra Terraform version bạn cần cài đặt có được hỗ trợ bởi Tfenv hay không.

tfenv list-remote

Một danh sách các Terraform version sẽ được hiển thị ra, muốn sử dụng version nào thì bốc ra thôi 😛

0.14.0-alpha20201007
0.14.0-alpha20200923
0.14.0-alpha20200910
0.13.4
0.13.3
...
0.2.1
0.2.0
0.1.1
0.1.0

Cài đặt một Terraform version

Cú pháp:

tfenv install <version>

Ở đây, mình sẽ sử dụng stable version hiện tại là 0.13.4. Khi đã có được version mong muốn, bạn chạy lệnh sau để cài đặt:

tfenv install 0.13.4

Khi đó, Tfenv sẽ tại về Terraform package tương ứng và chạy vài thao tác khác cho việc cài đặt.

Installing Terraform v0.13.4
Downloading release tarball from https://releases.hashicorp.com/terraform/0.13.4/terraform_0.13.4_linux_amd64.zip
################################################################################################################# 100.0%
Downloading SHA hash file from https://releases.hashicorp.com/terraform/0.13.4/terraform_0.13.4_SHA256SUMS
No keybase install found, skipping OpenPGP signature verification
Archive:  tfenv_download.1YMizO/terraform_0.13.4_linux_amd64.zip
  inflating: /home/thachanpy/.tfenv/versions/0.13.4/terraform
Installation of terraform v0.13.4 successful. To make this your default version, run 'tfenv use 0.13.4'

Vậy là bạn đã cài đặt thành công Terraform 0.13.4 rồi

Kiểm tra các Terraform version đã cài đặt

Nếu bạn muốn kiểm tra lại hiện tại Tfenv của bạn đang có những version nào, thì dùng lệnh sau:

tfenv list
* 0.13.4 (set by /home/thachanpy/.tfenv/version)

Kiểm tra xem thử chính xác Terraform đã được cài đặt hay không:

terraform --version

Và bạn thấy đã cài đặt rồi 😛

Terraform v0.13.4

Chuyển đổi giữa các Terraform version

Bây giờ mình thử cài thêm một phiên bản khác xem sao:

tfenv install 0.12.8

Kiểm tra lại các phiên bản đã cài đặt:

* 0.13.4 (set by /home/thachanpy/.tfenv/version)
  0.12.8

Để chuyển đổi qua một Terraform version nào đó, bạn làm theo cú pháp sau:

tfenv use <version>

Cụ thể mình sẽ chuyển qua version 0.12.8 như đã cài ở trên:

tfenv use 0.12.8

Kiểm tra lại Terraform version, thì bạn có thể thấy đã là 0.12.8 rồi, kèm theo là một gợi ý cập nhật version 😛

Terraform v0.12.8

Your version of Terraform is out of date! The latest version
is 0.13.4. You can update by downloading from www.terraform.io/downloads.html

Xóa bỏ một Terraform version

Để xóa bỏ một Terraform version nào đó, bạn làm theo cú pháp sau:

tfenv uninstall <version>

Mình sẽ xóa bỏ version 0.12.8 đã cài đặt trước đó:

tfenv uninstall 0.12.8

Và dễ dàng xóa bỏ rồi:

Uninstall Terraform v0.12.8
Terraform v0.12.8 is successfully uninstalled

Tổng kết

Với việc cài đặt và vài câu lệnh đơn giản, bạn có thể quản lý các phiên bản Terraform một cách dễ dàng và nhanh chóng thông qua Tfenv.

Nhờ có được nhiều Terraform version trên cùng một máy, bạn có thể test và debug code của mình một cách nhanh chóng và thuận tiện.

Cảm ơn các bạn đã theo dõi 😛

0 0 vote
Article Rating
guest
0 Comments
Inline Feedbacks
View all comments