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

 

posted on 2023-03-18 16:53  yaoyu  阅读(115)  评论(0编辑  收藏  举报

导航