暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

terraform简述

原创 雪狼sunny 2022-07-05
1104

Terraform是HashiCorp公司旗下的Provision Infrastructure产品, 是AWS APN Technology Partner与AWS DevOps Competency Partner。Terraform是一个IT基础架构自动化编排工具,它的口号是“Write, Plan, and Create Infrastructure as Code”, 是一个“基础设施即代码”工具,类似于AWS CloudFormation,允许您创建、更新和版本控制的AWS基础设施。

Terraform基于AWS Go SDK进行构建,采用HashiCorp配置语言(HCL)对资源进行编排,具体的说就是可以用代码来管理维护IT资源,比如针对AWS,我们可以用它创建、修改或删除 S3 Bucket、Lambda,、EC2、Kinesis、VPC等各种资源。并且在真正运行之前可以看到执行计划(即干运行-dryrun)。由于状态保存到文件中,因此能够离线方式查看资源情况(前提是不要在 Terraform 之外对资源进行修改)。Terraform 配置的状态除了能够保存在本地文件中,也可以保存到 Consul, S3等处。

Terraform是一个高度可扩展的工具,通过Provider来扩展对新的基础架构的支持,几乎支持所有的云服务平台,AWS只是Terraform内建 Providers 中的一种。

在Terraform诞生之前,我们对AWS资源的操作主要依赖Console、AWS CLI、SDK或Serverless。AWS CLI什么都能做,但它是无状态的,必须明确用不同的命令来创建、修改和删除。Serverless不是用来管理基础架构的,用Lambda创建资源是很麻烦的事。AWS提供的CloudFormation,虽然功能非常强大,但是大量的JSON代码阅读困难。

terraform这个工具最早进入中国是在2018年,但是可能国人更加趋向于图形化没有发展起来,最近很多网站上面开始都有自己独立的对接api接口,便于批量不部署云上面的服务ecs 存储,网络;下面是安装连接

https://www.terraform.io/downloads?spm=a2c4g.11186623.0.0.51777a0b8CmFBs

在使用mac系统安装的时候报安装失败可能是国内网络原因可以下载zip包,直接拷贝到/usr/local/bin/

sunny@localhost Downloads % cp terraform /usr/local/bin
cp: /usr/local/bin/terraform: Permission denied
sunny@localhost Downloads % sudo cp terraform /usr/local/bin 
Password:
sunny@localhost Downloads % terraform --version
Terraform v1.2.4
on darwin_arm64
sunny@localhost Downloads % terraform --help

下面是阿里云的安装使用连接

https://help.aliyun.com/document_detail/335111.html

下面是aws的使用连接:

https://aws.amazon.com/cn/blogs/china/aws-china-region-guide-series-terraform1/

国内的教程推荐泽阳老师的在语雀上面有他的讲解ppt;

喜欢研究的小伙伴可以学习一下,感觉这个东西不会太火爆,因为首先各个云厂商会有自己的hcl就是云终端操作,而且自己公司的devops的脚本可以直接去调用,这种场景大部分是自己的云服务器上面,不会利用terraform这个国度终端。但是这个东西在国外很受推崇,不知道以后未来的路会怎么样it行业发展很难谁永占鳌头。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论