Developer Friendly | 基础设施即代码的事实标准Terraform已支持京东云!
Chef、Puppet、Ansible、SaltStack 都可以称为配置管理工具,这些工具的主要目标是在已经存在的机器上安装和管理软件。而随着云计算时代的到来,在现在的环境下,大家使用容器等服务,镜像已经包括了软件的安装与配置。一旦你有了镜像,你需要的是一些服务器去运行它。
Terraform 这一更注重于数据中心以及相关服务的编排工具的工作重点就是创建资源并且引导进行初始化。
对于提供服务器这种需求,编排工具会比配置管理工具更适合做此类工作。
为了让用户能够在京东云上轻松使用简单模板语言来定义、预览和部署的云基础架构。我们正式发布了:Terraform Provider for JD Cloud
Terraform是一个基于Golang的高度可扩展的开源IT基础架构自动化编排工具,它的目标是“Write, Plan, and Create Infrastructure as Code” ,主张基础设施即代码。可通过代码集中管理维护云IT资源和基础架构,把之前需求手工操作的任务通过程序自动化完成,达到高效、不易出错的目标。
基础设施即代码有四项关键原则:
再生性:环境中的任何元素可以轻松复制。
一致性:无论何时,创建的环境各个元素的配置是完全相同的。
快速反馈:能够频繁、容易地进行变更,并快速知道变更是否正确。
可见性:所有对环境的变更应该容易理解、可审计、受版本控制。
Terraform核心功能!
基础设施即代码INFRASTRUCTURE AS CODE
Terraform使用高级配置语法来描述基础架构,这样就可以对数据中心的蓝图进行版本控制,就像对待其他代码一样对待它,可保存基础设施资源的状态,快速创建和维护管理云资源,并通过代码与其他人共享云资源的配置。
快速部署多云环境MULTICLOUD ENVIRONMENT
Terraform支持200多个基础设施提供商,适用于多云方案,可快速将用户的环境部署到京东云(其他云提供商或者本地的数据中心)。开发者可同时管理不同的云提供商的资源。
自动化管理降低成本AUTOMATED MANAGEMENT
通过代码批量按计划地管理资源,把复杂的变更集应用到基础设施中,而无需人工交互。通过前面提到的执行计划和资源图,我们可以确切地知道 Terraform 将会改变什么,以什么顺序改变,从而避免许多可能的人为错误。同时,可快速创建相同的开发、测试、预发和生成环境,降低开发者的环境管理成本。
应用场景
目前,Terraform Provider for JDcloud已支持Instance、Disk、网卡、密钥对、弹性IP、VPC、Subnet、安全组、路由表、RDS等10余款产品。
???? 开源地址:
https://github.com/terraform-providers/terraform-provider-jdcloud/
创建基础设施CREATE INFRASTRUCTURE
通过代码快速创建云主机、网络、负载均衡等基础的资源,利用代码进行资源的增删改查。
多云管理MULTICLOUD MANAGEMENT
减少对云厂商的依赖,可同时管理多个云厂商资源,也可快速方便地迁移到另外一个云厂商
认证体系
凭证由密钥和区域
ID组成,用于身份验证。 目前,可以通过以下两种方式设置凭据:
只需将它们写入配置文件即可
将它们设置为环境变量
写入配置文件即可
WRITE THEM IN YOUR CONFIGURATION FILE
如下所示, 可直接将凭证放在jdcloud.tf的开头:
provider "jdcloud" {
access_key = "your_access_key"
secret_key = "your_secret_key"
region = "cn-north-1"}
设置为环境变量
SET AS ENVIRONMENT VARIABLE
也可以通过命令行设置环境变量:
$ export access_key="your_access_key"
$ export secret_key="your_secret_key"
$ export region="cn-north-1"
将Provider field在配置文件中空出,Terraform将进行自动加载。
provider "jdcloud" {
}
更多相关详情,可前往Terraform Provider for JD Cloud进行了解:https://www.terraform.io/docs/providers/jdcloud/index.html
·END·
Terraform 的整个生态非常活跃,我们近期也会为大家推送Terraform Provider for JDcloud相关的最佳实践。
有疑问加站长微信联系(非本文作者)