CLI+Terraform简化资源管理的模板编写

简介: Terraform是一个比较强大的自动化资源编排管理工具,通过模板描述资源,通过apply命令创建/更新资源。详细的使用方法及特性可以参见公众号中关于Terraform的其他文章了解。本文将主要讲解如何利用CLI+Terraform简化模板的编写。

Terraform是一个比较强大的自动化资源编排管理工具,通过模板描述资源,通过apply命令创建/更新资源。详细的使用方法及特性可以参见公众号中关于Terraform的其他文章了解。本文将主要讲解如何利用CLI+Terraform简化模板的编写。

Terraform的模板由几大结构组成:资源(resource)、变量(variable)、输出(output),他还有一个很重量级的结构:数据源(data)。数据源是用来过滤资源中parameter的可选项的,举个例子,ECS的实例类型(instance_type)有90多个选项,我们希望能够根据一些条件过滤这些选项,这时便可以利用data的特性,描述需要ECS的规格(几核 几G 哪个系列),data结果中将会返回符合过滤条件的列表,在resource中直接指定数据源为此data即可。data结构的例子如下:

data "alicloud_instance_types" "4c8g" {
    instance_type_family= "ecs.s3"
    cpu_core_count = 4
    memory_size = 8
}

在resource中引用:

instance_type = "${data. alicloud_instance_types. 4c8g.0.id}"

除实例类型(instance_type)外,ECS的datasource还提供了镜像(images)、地域(regions)、可用区(zones)的数据过滤,详细文档可参见 https://www.terraform.io/docs/providers/alicloud/index.html,或 data_source_alicloud_instance_types_test.go 其中含有示例代码。

datasource在Terraform模板编写时为参数获取提供了便利,如果再加上CLI,使用会更便捷,在上面的模板例子中可以通过CLI方便的看到ECS的系列(instance_type_family)数据,当然也可以看到实例类例、镜像、地域、可用区等数据,将其值放在模板中,将大量简化我们模板编写时对参数可选值的获取。

CLI的安装及使用

  • CLI安装: sudo pip install aliyuncli
  • ecs调用包安装: sudo pip install aliyun-python-sdk-ecs
  • 配置: aliyuncli configure,按提示输入AK、region、output format(建议table)
  • 执行aliyuncli ecs 将能够看到支持的命令,以上面的例子为例输入aliyuncli ecs DescribeInstanceTypeFamilies 将能够看到返回的系列列表,如下图:

cli_instancefamily

更多Terraform的模板请参考https://github.com/alibaba/terraform-provider/tree/master/terraform/examples,有问题可以在issue中提问。欢迎大家关注我们的开源自动化运维工具集:https://github.com/alibaba/opstools/

目录
相关文章
|
云安全 弹性计算 负载均衡
Terraform云资源管理
本方案适合Terraform的迁移用户或准备使用Terraform的用户,可以帮助客户在阿里云安全、高效地预配和管理云基础产品。用户在正式使用前,对Terraform模块与实际使用模块的基本验证,用于对管理和维护IT资源的日常操作的验证。
718 0
Terraform云资源管理
|
云安全 弹性计算 负载均衡
Terraform云资源管理
本方案适合Terraform的迁移用户或准备使用Terraform的用户,可以帮助客户在阿里云安全、高效地预配和管理云基础产品。用户在正式使用前,对Terraform模块与实际使用模块的基本验证,用于对管理和维护IT资源的日常操作的验证。
Terraform云资源管理
|
4月前
|
机器学习/深度学习 数据采集 算法框架/工具
使用Python实现深度学习模型:智能人力资源管理与招聘
【8月更文挑战第12天】 使用Python实现深度学习模型:智能人力资源管理与招聘
125 2
|
5月前
|
数据采集 监控 数据安全/隐私保护
ERP系统中的人力资源管理与员工绩效评估解析
【7月更文挑战第25天】 ERP系统中的人力资源管理与员工绩效评估解析
347 1
|
5月前
|
机器学习/深度学习 Oracle 安全
人力资源管理革新:6款系统一站式解决HR事务
**Zoho People、BambooHR、Workday、ADP Workforce Now和Oracle HCM Cloud是知名的人力资源管理系统。Zoho People提供模块化设计、移动应用和自动化工作流;BambooHR以用户友好界面和员工档案管理见长;Workday侧重全球化云解决方案和智能决策工具;ADP Workforce Now集成HR与薪资管理,强调合规性;Oracle HCM Cloud则以高度定制和分析工具闻名。这些系统各有特点,适用于不同规模和需求的企业。**
88 11
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的人力资源管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的人力资源管理系统附带文章源码部署视频讲解等
50 2
|
6月前
|
机器学习/深度学习 人工智能 搜索推荐
人力资源管理(HRM)系统的未来:技术引领的变革浪潮
【6月更文挑战第24天】随着AI、大数据、云计算和移动技术的融合,HRM正转型为提升效率和员工体验的关键工具。AI助力智能决策,大数据驱动精准管理,云计算与移动技术实现无缝访问和远程操作。员工体验被置于设计核心,系统更人性化、个性化。未来趋势强调全面整合与协同工作,赋能企业高效运营。
|
6月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的人力资源管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的人力资源管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
90 8
|
6月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的中小企业人力资源管理系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的中小企业人力资源管理系统附带文章和源代码部署视频讲解等
49 1
|
7月前
|
JavaScript Java 测试技术
基于ssm+vue.js的公司人力资源管理系统附带文章和源代码设计说明文档ppt
基于ssm+vue.js的公司人力资源管理系统附带文章和源代码设计说明文档ppt
38 1

热门文章

最新文章

推荐镜像

更多