Khởi tạo Terraform Environment

Cập nhật lần cuối: 2025/05/26 14:03:19

ĐIỀU KIỆN

  • Cài đặt phiên bản Terraform từ v1.8 trở lên.
  • Cài đặt Go phiên bản từ 1.22 trở lên ( để xây dựng plugin )
  • Có thông tin về API key của tài khoản trên CMC Cloud ( cần báo admin của CMC Cloud active API key)

 

 

CÁC BƯỚC THỰC HIỆN

Hướng dẫn cài đặt Terraform cho Linux

Dưới đây là hướng dẫn setup Terraform environment cho CMC Cloud ( thực hiện với linux)

Bước 1 : Cài đặt Golang 

Truy cập trang chủ qua link: https://go.dev/dl/

Hoặc cài 1 phiên bản cụ thể theo hướng dẫn sau: 

Lưu ý : Cần xoá mọi cài đặt Go trước đó (nếu tồn tại) bằng cách xóa thư mục /usr/local/go, sau đó giải nén kho lưu trữ bạn vừa tải xuống vào /usr/local, tạo mới trong /usr/local/go 

Bước 2:  Cài đặt Terraform

Cài đặt phiên bản mới nhất từ trang chủ của Terraform, tham khảo link sau: 

https://developer.hashicorp.com/terraform/install

Bước 3 : Clone CMC Cloud từ Terraform và xây dựng nó

 

Thay dòng cuối cùng trong file go.mod thành nội dung sau : 

replace github.com/cmc-cloud/gocmcapiv2 => /usr/src/terraform/gocmcapiv2

 

  • go mod tidy
  • go build

 

Bước 5 : Tạo Terraform environment cho CMC Cloud

# cat /root/.terraformrc 

provider_installation {

        dev_overrides {

                 "cmc-cloud/cmccloudv2" = "/usr/src/terraform/terraform-provider-cmccloudv2"

        }

        filesystem_mirror {

                path    = "/usr/src/terraform/terraform-provider-cmccloudv2"

                include = ["github.com/cmc-cloud/*"]

        }

        direct {

                exclude = ["github.com/cmc-cloud/*"]

                include = ["hashicorp/aws"]

        }

}

Bước 6: Kiểm tra file provider.tf

cd /usr/src/test

//Create provider.tf and datasource.tf as follow:

cat /usr/src/test/provider.tf
terraform {
     required_providers {
         cmccloudv2 = { 
                        source = "cmc-cloud/cmccloudv2"
         }
     }
 }
provider "cmccloudv2" {
    api_endpoint = "https://apiv2.cloud.cmctelecom.vn"
    api_key = "xxxxxx"   # API key from cmccloud portal
    project_id = "xxxxxxx" # project_id from IAM on portal
    region_id = "hn-1" # lựa chọn region sẽ triển khai

}

Chạy lệnh terraform apply  để hoàn thành thay đổi


Hướng dẫn cài đặt Terraform cho MacOS

Dưới đây là hướng dẫn setup Terraform environment cho CMC Cloud (thực hiện với MacOS)

Bước 1: Cài đặt Terraform trên MacOS bằng Zip Archive

Để cài đặt TERRAFORM, hãy tìm gói thích hợp cho hệ thống của bạn và tải xuống dưới dạng tệp nén zip.

Các bước cài đặt Terraform trên macOS bằng tệp zip đã tải xuống tương tự như hướng dẫn dành cho hệ thống Linux. Thay vì wget, hãy sử dụng curltrên macOS.

Tham khảo từ trang chủ của hãng: https://developer.hashicorp.com/terraform/install

Sử dụng curlđể tải xuống tệp từ liên kết bạn đã sao chép ở bước trước:

curl https://releases.hashicorp.com/terraform/1.12.0/terraform_1.12.0_darwin_arm64.zip -O


Bước 2: Trên máy client MacOS của người dùng, thực hiện các câu lệnh sau: 

echo $PATH #hiển thị giá trị hiện tại của biến môi trường PATH

Di chuyển Terraform binary đến một trong các vị trí được liệt kê. Giả định di chuyển đến /usr/local/bin

mv ~/Downloads/terraform /usr/local/bin/

 

Chạy lệnh terraform -version để xác minh cài đặt


Bước 3 : Clone CMC Cloud từ Terraform và xây dựng nó

 

Thay dòng cuối cùng trong file go.mod thành nội dung sau : 

replace github.com/cmc-cloud/gocmcapiv2 => /usr/src/terraform/gocmcapiv2

 

  • go mod tidy
  • go build

 

Bước 4 : Tạo Terraform environment cho CMC Cloud

# cat /root/.terraformrc 

provider_installation {

        dev_overrides {

                 "cmc-cloud/cmccloudv2" = "/usr/src/terraform/terraform-provider-cmccloudv2"

        }

        filesystem_mirror {

                path    = "/usr/src/terraform/terraform-provider-cmccloudv2"

                include = ["github.com/cmc-cloud/*"]

        }

        direct {

                exclude = ["github.com/cmc-cloud/*"]

                include = ["hashicorp/aws"]

        }

}

Bước 5: Kiểm tra file provider.tf

cd /usr/src/test

//Create provider.tf and datasource.tf as follow:

cat /usr/src/test/provider.tf
terraform {
     required_providers {
         cmccloudv2 = { 
                        source = "cmc-cloud/cmccloudv2"
         }
     }
 }
provider "cmccloudv2" {
    api_endpoint = "https://apiv2.cloud.cmctelecom.vn"
    api_key = "xxxxxx"   # API key from cmccloud portal
    project_id = "xxxxxxx" # project_id from IAM on portal
    region_id = "hn-1" # lựa chọn region sẽ triển khai

}

Chạy lệnh terraform apply để hoàn thành thay đổi

    back to top

    logo

    © 2023, CMC Cloud. All rights reserved.

    Business Registration Certificate

    Giấy ĐKKD: 0102900049. Nơi cấp: Sở Kế hoạch & Đầu tư Thành phố Hà Nội

    Chịu trách nhiệm nội dung: Đặng Tùng Sơn