资讯专栏INFORMATION COLUMN

运用代码管理基础架构之-可以自定义的CMP(二)

chnmagnus / 451人阅读

摘要:第二十一期启迪云资深交付经理董乐前文回顾运用代码管理基础架构之镜像利器一需求分析随着公有云平台功能的日趋完善,混合云的架构逐步会成为企业是首要选择。

第二十一期 启迪云资深交付经理  董乐

前文回顾:运用代码管理基础架构之-镜像利器(一)

需求分析

随着公有云平台功能的日趋完善,混合云的架构逐步会成为企业是首要选择。面对混合云的环境我们如何管理我们的基础架构?

我们以创建一个web平台为例:

传统方式——

登陆私有云或公有云管理平台

创建主机

安装部署应用软件

创建安全组,添加安全组规则

创建负载均衡,添加监听端口

创建浮动IP

登陆DNS管理平台,创建A记录

大致要通过以上7个步骤完成一个应用的部署,如果我们的公有云环境是多个,那么就意味着以上步骤要重复多次,这还仅仅是一个简单的web环境,如果我们要部署的是一套业务系统,涉及多个应用系统的创建,我们的基础平台交付需要多长时间?

基于上面的问题今天给大家介绍一个非常牛B的软件——Terraform。

什么是Terraform

Terraform 是一个可以安全,高效构建基础架构的工具,通过配置文件的描述对单个应用或数据中心基础架构进行构建和维护。

Terraform通过生成一个执行计划来描述将来执行构建基础架构的变化,随着配置文件的变更Terraform能够准确的对基础架构进行修改或增量的执行,Terraform不仅可以管理计算,网络和存储资源,还可以对DNS和SaaS等服务进行管理。

简单实例

展示通过编辑Terraform 配置文件,在vcenter上创建虚拟机

操作步骤

wgethttps://releases.hashicorp.com/terraform/0.11.11/terraform_0.11.11_linux_amd64.zip

unzip terraform_0.11.11_linux_amd64.zip

cp terraform /usr/bin

创建变量文件var.tf (具体内容根据实际需求填写)

variable "vsphere_user" {

default = "xxxxxxxxxx"

variable "vsphere_password" {

default= "xxxxxxxx"

variable "vsphere_server" {

default = "xx.xx.xx.xx"

创建资源文件t1.tf (具体内容根据实际需求填写)

[root@localhost test]# cat t1.tf

provider "vsphere" {

user           ="${var.vsphere_user}"

password       ="${var.vsphere_password}"

vsphere_server= "${var.vsphere_server}"

#If you have a self-signed cert

allow_unverified_ssl = true

data "vsphere_datacenter""dc" {

name = "xxxxxx"

data "vsphere_datastore""datastore" {

name          = "xxxxxxxxx"

datacenter_id = "${data.vsphere_datacenter.dc.id}"

data "vsphere_resource_pool""pool" {

name          = "pool01"

datacenter_id = "${data.vsphere_datacenter.dc.id}"

data "vsphere_network""network" {

name          = "VMNetwork"

datacenter_id = "${data.vsphere_datacenter.dc.id}"

data "vsphere_virtual_machine""template" {

name          ="Template-centos7"

datacenter_id = "${data.vsphere_datacenter.dc.id}"

resource"vsphere_virtual_machine" "vm" {

name             ="terraform-test001"

resource_pool_id = "${data.vsphere_resource_pool.pool.id}"

datastore_id     ="${data.vsphere_datastore.datastore.id}"

num_cpus = 2

memory   = 1024

guest_id = "${data.vsphere_virtual_machine.template.guest_id}"

network_interface {

network_id = "${data.vsphere_network.network.id}"

disk {

label = "disk0"

size  = 50

clone {

template_uuid = "${data.vsphere_virtual_machine.template.id}"

terraform init

terraform plan

terraform apply

查看vcenter 平台已经生成了虚拟机

Terraform支持的服务商

Terraform的价值

通过前面的介绍我们了解到通过Terraform可以统一管理私有云,公有云及相关SaaS服务平台,并通过配置文件描述将不同资源整合在一起,通过代码的版本控制对基础架构进行有效的管理。结合上一篇文章介绍的Packer可以通过Terraform调用Packer打包好的业务镜像,并行的在多个公有云或私有云上同时进行部署,一方面提高了基础架构部署的效率,另一方面也降低了因人为操作造成基础平台故障的风险。


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/5852.html

相关文章

  • Java入门基础知识点总结(详细篇)

    摘要:深入理解数据库管理系统通用知识及数据库的使用与管理。为后台开发打下坚实基础。项目文档,项目规范,需求分析,数据库设计,工程构建,需求评审,配置管理,修复,项目管理等。 很多新手在学习java的时候都比较迷茫,不知道从哪里开始学起,这里就给大家整理了一份java开发学习路线,比较系统全面,可参...

    shinezejian 评论0 收藏0
  • 多云管理工具:组织可能需要6个功能

    摘要:在评估云计算管理平台时,组织的决策者应确保具备有用的关键功能,并确保满足组织的特定要求。有效的多云管理工具应提供编排功能,以实现管理流程的自动化,并促进云计算资源的配置或取消配置。在评估云计算管理平台时,组织的IT决策者应确保具备有用的关键功能,并确保满足组织的特定要求。与以往相比,IT团队正在使用多个云计算平台来满足存储需求。但是,多云环境的管理可能会令人生畏,尤其是当应用程序变得更加复杂...

    Winer 评论0 收藏0
  • 小程序web开发框架-weweb介绍

    摘要:我们将尽快修正切换成微信开发者工具自带的编译器使用环境变量如下转换成后,会存在跨域访问接口及脱离微信环境带来的一些无法支持的问题。 weweb是一个兼容小程序语法的前端框架,你可以用小程序的写法,来写web单面应用。如果你已经有小程序了,通过它你可以将你的小程序运行在浏览器中。在小程序大行其道的今天,它可以让你的小程序代码得到最大限度的发挥,他具有以下优点: 跨平台,一套代码多端运行...

    codercao 评论0 收藏0
  • 小程序web开发框架-weweb介绍

    摘要:我们将尽快修正切换成微信开发者工具自带的编译器使用环境变量如下转换成后,会存在跨域访问接口及脱离微信环境带来的一些无法支持的问题。 weweb是一个兼容小程序语法的前端框架,你可以用小程序的写法,来写web单面应用。如果你已经有小程序了,通过它你可以将你的小程序运行在浏览器中。在小程序大行其道的今天,它可以让你的小程序代码得到最大限度的发挥,他具有以下优点: 跨平台,一套代码多端运行...

    cppowboy 评论0 收藏0
  • 有效管理云计算成本多个措施

    摘要:随着云计算成为新常态,组织转向数字业务计划,的动态已完全改变。这提出了一个问题团队如何优化和管理不同的公有云成本根据我们的经验以及帮助不同行业的组织,以下研究得出种优化云计算支出的方法。 随着云计算成为新常态,组织转向数字业务计划,IT的动态已完全改变。为了保持竞争力并跟上同时运行的多个创新计划,企业需要即时的基础设施可用性——这在传统数据中心这是一个很高的要求,但实际上可以在公共云瞬...

    keelii 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<