IBM Cloud Schematics提供了Terraform-as-a-Service服务。本文分别使用Schematics和Terraform进行IBM Cloud经典基础架构虚拟机的部署。
完成文中所述操作需要具备的先决条件如下:
IBM Cloud的账号Linux工作机,我用的是CentOS 7.xSchematics提供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进入如下IAM界面可以看到IBM Cloud经典基础架构用户名和API密钥:
后续使用此邮箱和API密钥在IBM Cloud中部署经典基础架构虚拟服务器。 注意:在配置Terraform参数文件时,用户名是“账号_邮箱”,如1234567_mail@xdomain.com 。
这里需要注意,IBM Cloud API key字符串只在创建时出现一次,这时务必要妥善保存,以后回到这个页面的“详细信息”是看不到的,官方文档上提到,这是出于安全考虑的设计。
登录IBM Cloud,点开左上角这个图标: 选择Schematics:
创建工作空间Workspace01:
输入各项参数,可以看到Schematics工作空间本身是免费的,点击“创建”:
在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: 在弹出页面可以看到虚拟机的详细信息:
项目完成后可以登录IBM Cloud释放工作空间和资源。 在工作空间页面,点击右上角“操作”,“ 删除”:
如果删除工作空间的同时不删除其创建的资源,在工作空间删除后可以通过经典基础架构的资源清单或命令行对资源进行访问和操作。 在此我们选择两者同时删除,输入工作空间的名字,确认删除:
本文上篇到此告一段落,下篇将介绍作为IBM Cloud Schematics的Terraform-as-a-Server的支撑层,Terraform通过IBM Cloud Provider plugin连接IBM Cloud Restful API部署经典基础架构虚拟机的具体过程,包括Terraform的安装,IBM Cloud Provider plugin的安装配置,配置文件的创建和定制,以及Terraform命令行操作。
大家吃好喝好。