通过Google Cloud Storage(GCS)管理Terraform的状态State()

  本篇文章为你整理了通过Google Cloud Storage(GCS)管理Terraform的状态State()的详细内容,包含有 通过Google Cloud Storage(GCS)管理Terraform的状态State,希望能帮助你了解 通过Google Cloud Storage(GCS)管理Terraform的状态State。

  管理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)管理Terraform的状态State()的详细内容,想要了解更多 通过Google Cloud Storage(GCS)管理Terraform的状态State的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: