美文网首页
通过Google Cloud Storage(GCS)管理Ter

通过Google Cloud Storage(GCS)管理Ter

作者: 南瓜慢说 | 来源:发表于2023-01-14 10:22 被阅读0次

    管理Terraform状态文件的最佳方式是通过云端的统一的存储,如谷歌云就用GCS。

    首先要创建一个Bucket:

    $ gsutil mb -p pkslow -l us-west1 -b on gs://pkslow-terraform
    Creating gs://pkslow-terraform/...
    
    $ gsutil ls gs://
    gs://pkslow-terraform/
    

    然后在Terraform文件中配置对应的信息:

    terraform {
      backend "gcs" {
        bucket  = "pkslow-terraform"
        prefix  = "state/gcp/pubsub"
      }
    }
    

    初始化后,就会在Bucket上创建对应的目录:

    $ terraform init -plugin-dir=${TERRAFORM_PLUGIN}
    

    变更生效:

    $ terraform apply -auto-approve
    

    我们在浏览器查看一下,发现已经成功状态了对应的状态文件:

    通过远程的云端,不仅可以存入状态文件,也可以从状态文件读取数据,如一些输出变量。比如模块A创建了一个VM,而我们可能通过这种方式获取它的IP,以便在其它模块使用。大致的配置如下:

    data "terraform_remote_state" "foo" {
      backend = "gcs"
      config = {
        bucket  = "terraform-state"
        prefix  = "prod"
      }
    }
    
    resource "template_file" "bar" {
      template = "${greeting}"
    
      vars {
        greeting = "${data.terraform_remote_state.foo.greeting}"
      }
    }
    

    代码

    代码请查看GitHub: https://github.com/LarryDpk/pkslow-samples


    Reference:

    通过Terraform创建GCP Pubsub

    相关文章

      网友评论

          本文标题:通过Google Cloud Storage(GCS)管理Ter

          本文链接:https://www.haomeiwen.com/subject/gtjgcdtx.html