使用IBM Cloud Schematics和Terraform部署经典基础架构(上篇)

IBM Cloud Schematics提供了Terraform-as-a-Service服务。本文分别使用Schematics和Terraform进行IBM Cloud经典基础架构虚拟机的部署。

完成文中所述操作需要具备的先决条件如下:

  1. IBM Cloud的账号
  2. Linux工作机,我用的是CentOS 7.x

准备工作

Schematics提供Terraform-as-a-Service服务,通过IBM Cloud Provider Plugin连接IBM Cloud REST API进行安全通信,完成资源的访问和部署。因此在自动化部署IBM Cloud资源之前,需要为IBM Cloud Provider Plugin配置访问资源所需的IBM Cloud凭证。各种资源类型需要各自不同的凭据,本文描述的部署经典基础架构资源需要经典基础架构用户名和API密钥,以及IBM Cloud API key。

获取IBM Cloud经典基础架构用户名和API密钥

登录IBM Cloud进入如下IAM界面可以看到IBM Cloud经典基础架构用户名和API密钥:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述后续使用此邮箱和API密钥在IBM Cloud中部署经典基础架构虚拟服务器。
注意:在配置Terraform参数文件时,用户名是“账号_邮箱”,如1234567_mail@xdomain.com 。

创建或者获取IBM Cloud API key在这里插入图片描述

在这里插入图片描述这里需要注意,IBM Cloud API key字符串只在创建时出现一次,这时务必要妥善保存,以后回到这个页面的“详细信息”是看不到的,官方文档上提到,这是出于安全考虑的设计。
在这里插入图片描述

Schematics部署经典基础架构虚拟机

创建Schematics工作空间

登录IBM Cloud,点开左上角这个图标:
在这里插入图片描述
选择Schematics:

在这里插入图片描述
创建工作空间Workspace01:

在这里插入图片描述
输入各项参数,可以看到Schematics工作空间本身是免费的,点击“创建”:
在这里插入图片描述
在这里插入图片描述

导入Terraform模板输入参数

在Explore界面下拉至Terraform模板信息输入界面,GitHub repository URL
设置为
https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples/ibm-vsi
Terraform版本选择 terraform_v0.12,保存:

在这里插入图片描述

在弹出的参数输入页面,输入参数后保存:

在这里插入图片描述

生成计划

点击生成计划,这里后台会调用 terraform plan 命令:

在这里插入图片描述

在这里插入图片描述

应用计划

计划生成后,点击应用计划,也即 terraform apply:
在这里插入图片描述

检查结果

待成功后点击查看日志:
在这里插入图片描述
日志中包含创建过程,以及命令terraform show的结果:
在这里插入图片描述回到工作空间,选择左侧“资源”菜单,页面将呈现部署成功的虚拟机信息,以及其在IBM Cloud 门户的访问URL,点击URL:
在这里插入图片描述
在弹出页面可以看到虚拟机的详细信息:在这里插入图片描述

使用Schematics命令行

安装IBM Cloud CLI工具
# curl -sL https://ibm.biz/idt-installer | bash
# ibmcloud plugin install schematics

验证CLI和开发工具的安装
# ibmcloud dev help

登录到IBM Cloud:
# ibmcloud login -a cloud.ibm.com -r us-south -g resource_group_name

# ic schematics workspace list
Name                         ID                                            Description                      Status     Frozen
workspace01                  workspace01-dc861892-2526-45                  workspace01 for project A        ACTIVE     False

# ic schematics workspace get --id  workspace01-dc861892-2526-45
Creation Time   Tue Jun 30 09:48:00
Description     workspace01 for project A
Frozen          false
ID              workspace01-dc861892-2526-45
Name            workspace01
Status          ACTIVE
Tags            [TAGS]
                - prja
                - dev

Template Variables for: 9368725c-d72a-4b
Name                 Value
softlayer_username   1234567_mail@xdomain.com
softlayer_api_key    e393f484f351c0eeb6103365c7b7d89d9173d6822c226f206f28807408e2cbb5
ibmcloud_api_key     J8pZA9cODS2S6QQPYm3qwORgOFtbVGJDxrHIiGLITuUt

OK


删除工作空间和资源

项目完成后可以登录IBM Cloud释放工作空间和资源。
在工作空间页面,点击右上角“操作”,“ 删除”:

在这里插入图片描述
如果删除工作空间的同时不删除其创建的资源,在工作空间删除后可以通过经典基础架构的资源清单或命令行对资源进行访问和操作。
在此我们选择两者同时删除,输入工作空间的名字,确认删除:

在这里插入图片描述

在这里插入图片描述

一些有用的链接

  1. IBM Cloud的Git Hub repository有很多example,比如Load Balancer,CIS,IAM,可以作为底稿定制自己的项目,能节约不少时间:https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples
  2. IBM Cloud的Terraform resources 和 data sources索引:
    https://cloud.ibm.com/docs/terraform?topic=terraform-infrastructure-resources#vm
  3. IBM Cloud Classic Infrastructure API 官方文档:
    https://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest

本文上篇到此告一段落,下篇将介绍作为IBM Cloud Schematics的Terraform-as-a-Server的支撑层,Terraform通过IBM Cloud Provider plugin连接IBM Cloud Restful API部署经典基础架构虚拟机的具体过程,包括Terraform的安装,IBM Cloud Provider plugin的安装配置,配置文件的创建和定制,以及Terraform命令行操作。

大家吃好喝好。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值