《Terraform 101 从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上
Terraform 101 从入门到实践Terraform作为基础设施即代码(Infrastructure as Code,很简称IaC)的事实标准,非常值得大家学习。但Terraform本身发展是比较快的,国内的资料也相对较少,所以我整理了我的学习心得,希望可以帮助到大家。因此,我做了一个决定,将
《Terraform 101 从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上
Terraform为了让大家在表达式上可以更加灵活方便地进行计算,提供了大量的内置函数(Function)。目前并不支持自定义函数,只能使用Terraform自带的。使用函数的格式也很简单,直接写函数名+参数即可。
指定插件目录初始化:$ terraform init -plugin-dir=/Users/larry/Software/terraform/plugins$ terraform init -plugin-dir=${TERRAFORM_PLUGIN}将目录下所有Terraform文件格式化,包含子
介绍了Terraform一些比较基础的概念后,我们可以先了解一下Terraform的语法,也就是HCL的语法。变量变量是实现代码复用的一种方式,同样的代码不同的变量往往会有不同的效果。而在Terraform里,有一个概念非常重要,就是变量都是从属于模块的。变量无法跨模块引用。即在模块A定义的变量X,
军书十二卷,卷卷有爷名。为什么需要状态管理Terraform的主要作用是管理云平台上的资源,通过声明式的HCL配置来映射资源,如果云平台上没有资源则需要创建,如果有则不用。那Terraform要实现这个功能有多种方式。一种是每次执行apply命令时都调用API接口检查一下远程的云资源是否与配置文件一
模块的概念模块化是Terraform实现代码重用的方式。模块可以理解为一个包含多个资源的容器模板。封装好之后,可以给大家使用。也可以理解为代码中的函数或方法,它接收入参,经过一些声明式的调用后,输出一些结果变量。从Terraform的代码层面来看,模块其实就是一个包含多个.tf或.tf.json文件
不怕出身低,行行出状元。插件Terraform可以对多种平台的多种资源进行管理,这个是通过插件来实现的。这里的插件,在Terraform的世界也叫Providers,也是一个个可执行文件。不同的插件完成不同的功能,对接AWS,就要使用AWS的插件;对接GCP,就要用GCP的插件。当我们通过terra
初闻不知Terraform,再闻已是云中人。什么叫基础设施即代码?在以前,当我们需要把应用部署在服务器时,需要购买多台服务器和机房、组装交换机和网络、不间断电源UPS等。随着云时代的到来,我们可以在IaaS(Infrastructure as a Service)平台直接购买所有的基础设施,包括服务