terraform 部署和运行()-其他
terraform 部署和运行()
下载terraform,地址 https://releases.hashicorp.com/terraform/
比如,选择https://releases.hashicorp.com/terraform/0.14.4/terraform_0.14.4_linux_amd64.zip
wget -c https://releases.hashicorp.com/terraform/0.14.4/terraform_0.14.4_linux_amd64.zip
mkdir /opt/terraform
cd /opt/terraform
unzip terraform_0.14.4_linux_amd64.zip
vi terraform.cnf
plugin_cache_dir = "/opt/terraform/plugins/"
provider_installation {
filesystem_mirror {
path = "/opt/terraform/plugins/"
}
}
vi /etc/profile
export PATH=$PATH:/opt/terraform
export TF_CLI_CONFIG_FILE=/opt/terraform/terraform.cnf
然后执行 source /etc/profile
要让环境变量重启生效,加全局配置
vi ~/.bashrc
source /etc/profile
在/opt/test目录测试,可以加青云或阿里云的配置
vi main.tf.json
{
"output":{
"instance_id":{
"value":"${qingcloud_instance.instance.id}"
}
},
"provider":{
"qingcloud":{
"secret_key":"LY057sC1Hq6idAvxAEjNqDmHNI6blYlwk0RPrNlV",
"access_key":"JBHFVEKKVFEFBLPPEHSK",
"zone":"pek3b"
}
},
"resource":{
"qingcloud_instance":{
"instance":{
"login_passwd":"Test@123",
"memory":1024,
"instance_class":101,
"managed_vxnet_id":"vxnet-whb0pbu",
"os_disk_size":20,
"name":"Test_hello",
"description":"this is a test ecs",
"cpu":1,
"image_id":"centos9x64"
}
}
},
"terraform":{
"required_providers":{
"qingcloud":{
"source":"qingcloud/qingcloud",
"version":"1.2.7"
}
}
}
}
{
"output":{
"instance_id":{
"value":"${alicloud_instance.instance.id}"
}
},
"provider":{
"alicloud":{
"secret_key":"GbijE3XyrhP1rMcd40RmjSqNJcd8Yk",
"access_key":"LTAI5tScT6yNku9WzsmiCYhM",
"region":"cn-hangzhou"
}
},
"resource":{
"alicloud_instance":{
"instance":{
"availability_zone":"cn-hangzhou-h",
"security_groups":[
"sg-bp1hhanuxjrlcmv80ehk"
],
"instance_name":"test_cmp123",
"system_disk_category":"cloud_efficiency",
"vswitch_id":"vsw-bp1lfilimtx87oy1iyth1",
"image_id":"centos_7_9_x64_20G_alibase_20230208.vhd",
"instance_type":"ecs.s6-c1m1.small"
}
}
},
"terraform":{
"required_providers":{
"alicloud":{
"source":"aliyun/alicloud",
"version":"1.138.0"
}
}
}
}
青云的provider下载
wget -c https://github.com/HashDataInc/terraform-provider-qingcloud/releases/download/v1.2.7/terraform-provider-qingcloud_1.2.7_linux_amd64.zip
unzip terraform-provider-qingcloud_1.2.7_linux_amd64.zip
cp terraform-provider-qingcloud_v1.2.7 /opt/terraform/plugins/registry.terraform.io/qingcloud/qingcloud/1.2.7/linux_amd64/
阿里云的provider下载
wget -c https://releases.hashicorp.com/terraform-provider-alicloud/1.138.0/terraform-provider-alicloud_1.138.0_linux_amd64.zip
unzip terraform-provider-alicloud_1.138.0_linux_amd64.zip
cp terraform-provider-alicloud_v1.138.0 /opt/terraform/plugins/registry.terraform.io/aliyun/alicloud/1.138.0/linux_amd64/
执行terraform命令创建资源
初始化providerterraform init测试创建资源
terraform plan创建资源
terraform apply -auto-approve
删除资源
terraform destroy -auto-approve
————————
下载terraform,地址 https://releases.hashicorp.com/terraform/
比如,选择https://releases.hashicorp.com/terraform/0.14.4/terraform_0.14.4_linux_amd64.zip
wget -c https://releases.hashicorp.com/terraform/0.14.4/terraform_0.14.4_linux_amd64.zip
mkdir /opt/terraform
cd /opt/terraform
unzip terraform_0.14.4_linux_amd64.zip
vi terraform.cnf
plugin_cache_dir = "/opt/terraform/plugins/"
provider_installation {
filesystem_mirror {
path = "/opt/terraform/plugins/"
}
}
vi /etc/profile
export PATH=$PATH:/opt/terraform
export TF_CLI_CONFIG_FILE=/opt/terraform/terraform.cnf
然后执行 source /etc/profile
要让环境变量重启生效,加全局配置
vi ~/.bashrc
source /etc/profile
在/opt/test目录测试,可以加青云或阿里云的配置
vi main.tf.json
{
"output":{
"instance_id":{
"value":"${qingcloud_instance.instance.id}"
}
},
"provider":{
"qingcloud":{
"secret_key":"LY057sC1Hq6idAvxAEjNqDmHNI6blYlwk0RPrNlV",
"access_key":"JBHFVEKKVFEFBLPPEHSK",
"zone":"pek3b"
}
},
"resource":{
"qingcloud_instance":{
"instance":{
"login_passwd":"Test@123",
"memory":1024,
"instance_class":101,
"managed_vxnet_id":"vxnet-whb0pbu",
"os_disk_size":20,
"name":"Test_hello",
"description":"this is a test ecs",
"cpu":1,
"image_id":"centos9x64"
}
}
},
"terraform":{
"required_providers":{
"qingcloud":{
"source":"qingcloud/qingcloud",
"version":"1.2.7"
}
}
}
}
{
"output":{
"instance_id":{
"value":"${alicloud_instance.instance.id}"
}
},
"provider":{
"alicloud":{
"secret_key":"GbijE3XyrhP1rMcd40RmjSqNJcd8Yk",
"access_key":"LTAI5tScT6yNku9WzsmiCYhM",
"region":"cn-hangzhou"
}
},
"resource":{
"alicloud_instance":{
"instance":{
"availability_zone":"cn-hangzhou-h",
"security_groups":[
"sg-bp1hhanuxjrlcmv80ehk"
],
"instance_name":"test_cmp123",
"system_disk_category":"cloud_efficiency",
"vswitch_id":"vsw-bp1lfilimtx87oy1iyth1",
"image_id":"centos_7_9_x64_20G_alibase_20230208.vhd",
"instance_type":"ecs.s6-c1m1.small"
}
}
},
"terraform":{
"required_providers":{
"alicloud":{
"source":"aliyun/alicloud",
"version":"1.138.0"
}
}
}
}
青云的provider下载
wget -c https://github.com/HashDataInc/terraform-provider-qingcloud/releases/download/v1.2.7/terraform-provider-qingcloud_1.2.7_linux_amd64.zip
unzip terraform-provider-qingcloud_1.2.7_linux_amd64.zip
cp terraform-provider-qingcloud_v1.2.7 /opt/terraform/plugins/registry.terraform.io/qingcloud/qingcloud/1.2.7/linux_amd64/
阿里云的provider下载
wget -c https://releases.hashicorp.com/terraform-provider-alicloud/1.138.0/terraform-provider-alicloud_1.138.0_linux_amd64.zip
unzip terraform-provider-alicloud_1.138.0_linux_amd64.zip
cp terraform-provider-alicloud_v1.138.0 /opt/terraform/plugins/registry.terraform.io/aliyun/alicloud/1.138.0/linux_amd64/
执行terraform命令创建资源
初始化providerterraform init测试创建资源
terraform plan创建资源
terraform apply -auto-approve
删除资源
terraform destroy -auto-approve