通过Google Cloud Storage(GCS)管理Terraform的状态State
2024-10-21 09:28:33
管理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:
最新文章
- Java程序设计之整数分解
- asp.net 自带的缓存
- C#单链表
- WebStorm设置手机测试服务器-局域网内其他设备访问
- 构建高转化率的着陆页-PS+HTML+网络营销
- visual studio2013 添加 dll库
- IOS的XML文件解析,利用了NSData和NSFileHandle
- php session_id()函数介绍及代码实例
- 使用jcifs.smb.SmbFile读取Windows上共享目录的文件
- 大数据实时处理-基于Spark的大数据实时处理及应用技术培训
- Intel® Ethernet Connection I217-V 网卡驱动(win10 ,2012)
- Python之数据类型-[bisect,heap]
- Alpha冲刺(3/10)——2019.4.25
- Python调用subprocess.Popen卡死的解决方案
- Flutter 布局(八)- Stack、IndexedStack、GridView详解
- 面试题-----按位翻转32位unsigned
- 并发编程之 线程协作工具 LockSupport
- vi写完文件保存时才发现是readonly😂
- 硝烟中的Scrum和XP-我们如何实施Scrum 12)发布计划 13)组合XP
- CSS同时使用背景图片和背景颜色
热门文章
- 微粒群算法PSO 01背包问题 python
- 如何检查“lateinit”变量是否已初始化?
- Python基础之函数:2、globlal与nonlocal和闭包函数、装饰器、语法糖
- 1.docker的基本使用
- hwlog--logger.go
- Pairs of Numbers 辗转相除
- leetcode学习记录2.13
- centos7 ftp服务搭建记录
- 基于Sklearn机器学习代码实战
- SocketException 不知道这样的主机(Quartz.;Dns.GetHostEntry;new HttpChannel)问题记录