Terraform alicloud provider开发入门

本文涉及的产品
表格存储 Tablestore,50G 2个月
简介: # Terraform和AliCloud Terraform provider简介 [Terraform](https://www.hashicorp.com/products/terraform)是一家名叫HashCorp的洛杉矶公司推出的,HashCorp名称来源于它的创始人Mitchell Hashimoto姓氏的一部分。 ![image.png](http://ata2-img.cn-

Terraform和AliCloud Terraform provider简介

Terraform是一家名叫HashCorp的洛杉矶公司推出的,HashCorp名称来源于它的创始人Mitchell Hashimoto姓氏的一部分。
image.png
Terraform宣称可以“为任意的应用部署任意的基础设施资源”,这得益于丰富的Terraform provider,目前全球顶级云计算玩家和热门的云计算架构(OpenStack/Kubernetes/Docker)都为Terraform贡献了provider。
image.png
阿里云也不例外,AliCloud Terraform provider作为支持Terraform的providers之一,目前支持ECS, Block Storage, SLB, VPC, Nat Gateway, RDS, ESS, OSS等云产品编排和部署。

下面以扩展AliCloud Terraform provider支持OTS云产品为例介绍provider的开发。

开发支持OTS资源的AliCloud Terraform provider

以下讲解基于AliCloud Terraform provider github源代码

告诉provider即将支持一种新的云产品

terraform-provider/alicloud/provider.go新增resource alicloud_ots_table以支持OTS。
image.png

实现resource

terraform-provider/alicloud下面定义resource alicloud_ots_table的具体实现resourceAlicloudOtsTable。参考OTS表操作的api/sdk接口参数找出该资源的属性,具体的参数名称可以自己定义:

table_name
primary_key_1_name
primary_key_1_type
primary_key_2_name
primary_key_2_type
primary_key_3_name
primary_key_3_type
primary_key_4_name
primary_key_4_type
time_to_alive
max_version
read_cap
write_cap

另外,定义表创建的接口支持resourceAliyunOtsTableCreate,具体实现请参考[resource_alicloud_ots_table.go]()

func resourceAlicloudOtsTable() *schema.Resource {
    return &schema.Resource{
        Create: resourceAliyunOtsTableCreate,
        Importer: &schema.ResourceImporter{
            State: schema.ImportStatePassthrough,
        },

Terraform provider的依赖包改为目前开发的git repository(后续争取合入官方repository)

更改terraform-provider/main.go
image.png
更改terraform-provider/glide.yaml
image.png

编译Terraform AliCloud provider

参考alibaba/terraform-provider

go get ./...
glide up
sudo -E "PATH=$PATH" make all

image.png

验证

创建OTS资源编排模板

请参考[]()

执行terraform init/plan/apply
image.png
阿里云OTS控制可以看到创建的表资源。
image.png

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
阿里云表格存储使用教程
表格存储(Table Store)是构建在阿里云飞天分布式系统之上的分布式NoSQL数据存储服务,根据99.99%的高可用以及11个9的数据可靠性的标准设计。表格存储通过数据分片和负载均衡技术,实现数据规模与访问并发上的无缝扩展,提供海量结构化数据的存储和实时访问。 产品详情:https://www.aliyun.com/product/ots
目录
相关文章
|
2月前
|
存储 Linux 持续交付
史上最全 Terraform 入门教程,助你无坑入门!
【10月更文挑战第26天】这是一个全面的 Terraform 入门教程,涵盖了 Terraform 的基本概念、安装步骤、基础配置、变量和输出变量的使用、模块的定义与使用,以及状态管理。通过实例讲解如何创建本地文件资源和 AWS S3 桶,帮助初学者快速上手并掌握 Terraform 的核心功能。
127 8
|
2月前
|
弹性计算 人工智能 运维
Terraform从入门到实践:快速构建你的第一张业务网络(上)
本次分享主题为《Terraform从入门到实践:快速构建你的第一张业务网络》。首先介绍如何入门和实践Terraform,随后演示如何使用Terraform快速构建业务网络。内容涵盖云上运维挑战及IaC解决方案,并重磅发布Terraform Explorer产品,旨在降低使用门槛并提升用户体验。此外,还将分享Terraform在实际生产中的最佳实践,帮助解决云上运维难题。
173 1
Terraform从入门到实践:快速构建你的第一张业务网络(上)
|
7月前
|
JSON Prometheus 监控
Grafana 系列 -GaC-2-Grafana Terraform Provider 基础
Grafana 系列 -GaC-2-Grafana Terraform Provider 基础
|
弹性计算 安全 关系型数据库
Terraform入门初实践
0.写在前面:在云巧资产市场中对项目进行交付过程中,能够快速复用已有组件和一键部署组件一直是我们追求的目标(关于云巧相关的理念可移步了解云巧 详细了解),因此以IaC理念出圈的Terraform,成为关注的重点。本文将介绍Terraform核心理念并结合运行demo完成对Terraform的探索和初级实践,为后续云巧市场更好的交付奠定基础。1.Terraform介绍:1.1 IACInfrastr
1163 0
Terraform入门初实践
|
Go 数据中心
Terraform Alicloud provider开发之Trouble Shooting
实现OTS resource `alicloud_ots_table`的表创建编排后,完成了[Terraform Alicloud provider开发入门](https://www.atatech.org/articles/104556),发现表更新删除还有不少坑。 # Terraform provider怎么debug ``` export TF_LOG=DEBUG ``` 设置后,
155 0
|
数据中心 对象存储 存储
五分钟入门阿里云Terraform OSS Backend
生态工具Terraform的资源编排能力在持续提升企业上云效率,降低运维成本方面越来越专业和完善。对于一个企业和团队来讲,如何保证State的安全性和如何实现对同一份资源的协同管理也是必须要关心的问题。本文将详细介绍如何在阿里云上解耦对资源模板与State管理,消除团队协作的障碍。
1329 0
五分钟入门阿里云Terraform OSS Backend
|
测试技术 API 开发工具
Terraform Provider 开发指南
本文主要向大家展示如何为[阿里云 Terraform Provider](https://www.terraform.io/docs/providers/alicloud/index.html) 贡献自己的力量,帮助开发者和志同道合的朋友尽快加入到开源生态的建设中来。
11640 0
|
存储 运维 应用服务中间件
|
存储 对象存储 数据中心
五分钟入门阿里云Terraform OSS Backend
生态工具Terraform的资源编排能力在持续提升企业上云效率,降低运维成本方面越来越专业和完善。对于一个企业和团队来讲,如何保证State的安全性和如何实现对同一份资源的协同管理也是必须要关心的问题。本文将详细介绍如何在阿里云上解耦对资源模板与State管理,消除团队协作的障碍。
2307 0
|
3月前
|
弹性计算 持续交付 API
基于 ROS 的Terraform托管服务轻松部署ChatGLM-6B
文章介绍了如何利用ROS和Terraform模板轻松自动化部署基于GLM架构、优化中文对话的ChatGLM-6B模型至阿里云,提高了部署效率与便捷性,适用于多种应用场景,且模型部署过程详细,彰显了基础设施即代码(IaC)的优势。
基于 ROS 的Terraform托管服务轻松部署ChatGLM-6B

推荐镜像

更多