现代IT基础设施管理(1):Terraform初识和小试牛刀

打印 上一主题 下一主题

主题 722|帖子 722|积分 2166

基础设施包括各种云,像国内的阿里云、腾讯云和华为云,国外的AWS、微软Azure云和谷歌云,另有Kubernetes和OpenStack,都可以用Terraform举行资源管理。使用基础设施即代码(Infrastructure as Code, IaC)的方式来管理基础设施,这是现代IT基础设施管理的一个紧张趋势,它允许我们以代码的形式定义基础设施,实现基础设施的主动化部署,确保基础设施设置的一致性,方便举行版本控制和变动管理。
Terraform属于基础设施即代码工具,官网地址:https://www.terraform.io/,产品定位:使用 Terraform 在任何云上举行主动化基础架构,高效管理基础设施,阿里云和腾讯云是Terraform合作伙伴,使用和下载量都不小,华为云是自己在维护,没有合作伙伴标识。

安装,直接在官网下载页找到对应系统下载安装即可,Linux、macOS和Windows都支持,下面通过一个演示示例体验一下Terraform具体操纵,用的是AWS云,AWS提供了750小时2核CPU-1G内存虚拟机的免费使用,Terraform演示示例所需设置文件在https://github.com/robin-2016/terraform-demo代码堆栈下,下面举行一个简朴的创建一个虚拟机的demo演示示例:
先将代码堆栈克隆到本地,进入demo-1目录下,下图就是main.tf文件全部内容。先来解释文件内容对应的含义,provider部分为对应的供应商,现在使用的是AWS,region是设置区域,ap-east-1为香港地区,access_key和secret_key为AWS账号生成的AK和SK。resource部分为创建的资源,这里设置的虚拟机实例,ami为虚拟机实例镜像id,是Ubuntu server24.04的镜像,instance_type为虚拟机实例规格,t3.micro是AWS提供的免费规格,2核CPU-1G内存,下面开始实操实验。

演示实验
第一步:填写AWS的AK和SK分别对应access_key和secret_key,执行“terraform init”初始化,会创建一个lock文件.terraform.lock.hcl,后续需要添加到代码堆栈中

初始化后,可以执行“terraform validate”来验证设置文件是否正确,不是必须执行,必须在init初始化之后执行

第二步:在执行具体操纵前,再执行“terraform plan”检察要执行内容,避免误操纵,这里可以看到返回结果显示是将要创建一个AWS的虚拟机实例。这一步也可以不执行,可以跳过执行第三步,感觉照旧先看一下执行内容比力放心。

第三步:确定好执行plan后符合预期,继续操纵,执行“terraform apply“,输入yes确认操纵,等候一会,一台实例就创建好了,显示“Apply complete”表明执行完成。

登录到AWS控制台,看到有一台刚刚创建的实例,也可以更改实例类型后再执行一次apply,现有的实例会烧毁再创建对应类型的实例。

第四步:演示实验完成后,执行“terraform destroy“烧毁资源,上面创建出来的实例就会被删除,同样要求输入yes来确认操纵。

在演示实验结束后,检察目录,会生成两个文件:terraform.tfstate和terraform.tfstate.backup,这两个文件是用来记载terraform远程状态的,所以要包管在操纵terraform之前这两个状态文件是最新的,两个状态文件可以存储在terraform提供的远程空间里,假如操纵少一些也可以生存在代码堆栈一个单独目录下。

Terraform可以用来管理vpc、安全组和dns记载等云上的大部分资源,还可以搭配自定义镜像+Linux脚本方式,完成应用程序层面部署,特别是有多个云账号需要管理,或者频繁初始化部署的环境下,能大大提高管理效率,一次编写执行多次。
以上为Terraform的低级使用分享,假如对你有帮助,请关注留言互动,假如需要Terraform具体云服务商教程请留言咨询,嘿嘿。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我爱普洱茶

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表