本文介绍使用 Terraform 获取 VPC 访问入口的方法。
安装 Terraform。
注意
请安装 Terraform v0.12.31 版本。您可以通过terraform version
命令查看版本信息。
在 ~/.terraform.d/plugins/darwin_amd64
添加 terraform-provider-volcengine
文件。
获取火山引擎账号的密钥和实例所在地域的信息。
参数 | 说明 |
---|---|
access_key | 您火山引擎账号的 AccessKey ID(AK)。获取方式,请参见 访问密钥使用指南。 |
secret_key | 您火山引擎账号的 Secret Access Key(SK)。获取方式,请参见 访问密钥使用指南。 |
region | 您容器服务业务所在的地域。例如 cn-guangzhou 。 |
登录已安装的 Terraform 终端。
创建一个文件夹,并在该文件夹中创建名为main.tf
的配置文件。
variable "common" { type = object({ registry = string region = string }) default = { # 实例的名称 registry = "****" # 实例所处的地域 region = "cn-guangzhou" } } provider "volcengine" { # 火山引擎账号的 AK access_key = "AKLT****" # 火山引擎账号的 SK secret_key = "WmpW****" region = var.common.region } data "volcengine_cr_vpc_endpoints" "status_null" { registry = var.common.registry output_file = "status_null" } data "volcengine_cr_vpc_endpoints" "status_one" { registry = var.common.registry statuses = ["Enabled"] output_file = "status_one" } data "volcengine_cr_vpc_endpoints" "status_two" { registry = var.common.registry statuses = ["Enabled", "Enabling"] output_file = "status_two" } data "volcengine_cr_vpc_endpoints" "status_all" { registry = var.common.registry statuses = ["Enabled", "Enabling", "Disabling", "Failed"] output_file = "status_all" }
初始化 Terraform 运行环境。
terraform init
进行资源规划。
terraform plan
获取获取 VPC 访问入口信息。
terraform apply -auto-approve
操作完成后即可在 status_all
文件中查看目标 VPC 访问地址信息。
terraform plan
时报错 permission denied
。A:出现报错 Error: Failed to instantiate provider "volcengine" to obtain schema: fork/exec /Users/bytedance/.terraform.d/plugins/darwin_amd64/terraform-provider-volcengine: permission denied
的原因是没有授予 terraform-provider-volcengine
文件的执行权限。请授予相应的文件执行权限。
授权命令示例: chmod 755 ~/.terraform.d/plugins/darwin_amd64/terraform-provider-volcengine
。
terraform plan
时报错 Error on reading XXX,XXX is not exist
。A:terraform apply
以后会生成 terraform.tfstate
这个文件,作用是记录本地资源创删状态。但是再次手动执行 terraform apply
后会误报资源已存在。解决的办法是手动删除这个文件,执行命令为 rm terraform.tfstate terraform.tfstate.backup
。