Terraform 学习笔记(1)
Terraform 的安装很容易,从官方网站下载二进制文件解压之后 就可以直接使用了。
https://www.terraform.io/
以windows为例的话,我为了在cmd里面直接使用,需要把下载解压后的文件加入到环境变量Path里面。
使用的话,直接先看两个简单的例子。
例1 在指定的AWS 账号里面创建一个新的EC2 实例,他有多种验证的方式,这里我们使用最简单的静态密码验证(非常不安全)
https://registry.terraform.io/providers/hashicorp/aws/latest/docs
provider "aws" { region = "us-west-2" access_key = "AK2342LKSDFJKSLFSDFX" secret_key = "fwssdjk22342lkshdsiwerwl1FaK82Fkz9" } resource "aws_instance" "myec2" { ami = "ami-0e999cbd62129e3b1" instance_type = "t2.micro }
相关的文档可以在这里看见
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance
把这个文件保存为一个first_ec2.tf 文件。
然后切换到这个目录下面,执行 terraform init, 他会自动我们下载我们在tf文档里面定义的provider 的 插件,在上面的例子里面,我定义的是 "aws", 他就会自动下载对应的插件。我这里没有指定插件的版本,那么他会自动下载最新版本。
官方推荐,在使用的时候应该尽量明确地定义版本号
执行init 之后的效果
初始化之后,然后执行 terraform plan, 他会检测tf文件,然后告诉你哪些资源进行了改变
如果检测无误,可以执行 terraform apply, 那么他就开始配置了
配置成功
例2 配置一个github的repository,他的方式和EC2 很类似,只不过是验证的方式略有不同
https://registry.terraform.io/providers/integrations/github/latest/docs
provider "github" {
token = "574e72342kklfsfsf2d1359064f76ca85aac1"
}
resource "github_repository" "example" {
name = "terraform"
description = "terraform test "
visibility = "public"
}
https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository
同样的操作,可以看见成功创建了repository
当我们执行上面的操作时候,他会自动创建、更新一个terraform.tfstate的文件
这个文件会自动保存我们所创建资源的相关信息和属性,以便于追踪
如果说我们对tf文档进行了修改,比如说我把上面的t2.micro 改成 t2.small,然后重新执行 terraform plan, terraform apply
可以看见对应的tfstate文件内容也变更了
如果我们想删除创建的资源,可以用 terraform destory 来删除,如果只打算删除部分资源,可以通过-target里指定。但是一般说来,一个比较好的习惯是把不同的资源放在不同的文件夹里面,这样避免互相冲突。
- 前端学习笔记--AJAX的应用(三)form表单改为AJAX提交
- 《Javascript高级程序设计》(第2版)学习笔记14--Form表单
- JavaScript学习笔记36-操作form
- ExtJS学习笔记(2)-From的类型,Ext.FormPanel
- openerp学习笔记 视图继承(tree、form、search)
- Extjs学习笔记之二 初识Extjs之Form
- Jquery学习笔记:操作form表单元素之一(文本框和下拉框)
- Jquery学习笔记:操作form表单元素之二(复选框和单选框)
- Django学习笔记六:form表单实现评论(检验数据合法性)
- MVC3.0入门学习笔记-从客户端中检测到有潜在危险的 Request.Form 值
- Validform 学习笔记---代码练习
- Angularjs学习笔记5_form1
- html学习笔记之form表单
- DevExpress Form 学习笔记——XtraForm
- Struts2 form表单常用标签学习笔记
- Html入门学习笔记03—Iframe和form表单理解
- 黑马程序员之C#学习笔记:break和continue的区别const与readonly的区别form与control的区别
- springMVC学习笔记-请求处理&springMVC form标签
- jquery.validate 学习笔记(验证form表单工具)
- SpringMVC学习笔记---AbstractWizardFormController