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命令创建资源
初始化provider
terraform init
测试创建资源 terraform plan
创建资源 terraform apply -auto-approve 删除资源 terraform destroy -auto-approve
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结