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

Terraform部署IBM Cloud经典基础架构

本文上篇描述了使用IBM Cloud Schematics服务,自动化供给IBM Cloud经典基础架构资源的过程。本文将描述作为IBM Cloud Schematics的Terraform-as-a-Server的支撑层面,Terraform通过IBM Cloud Provider plugin连接IBM Cloud Restful API部署经典基础架构虚拟机的具体过程。

完成文中所述操作需要具备的先决条件仍然如下:
1 IBM Cloud的账号
2 Terraform基础知识

安装Terraform

# mkdir ~/terraform
# cd ~/terraform
# wget https://releases.hashicorp.com/terraform/0.12.28/terraform_0.12.28_linux_amd64.zip
# unzip terraform_0.12.28_linux_amd64.zip
# echo ‘export PATH=$PATH: $HOME/terraform’ >> ~/.bash_profile

安装IBM Cloud Terraform Provider v1.8.0

# mkdir $HOME/.terraform.d/plugins
# cd $HOME/.terraform.d/plugins
# wget https://github.com/IBM-Cloud/terraform-provider-ibm/releases/download/v1.8.0/linux_amd64.zip
# unzip linux_amd64.zip
# ./terraform-provider-ibm_*
# ./terraform-provider-ibm_*
2020/06/30 00:21:06 IBM Cloud Provider version 1.8.0
This binary is a plugin. These are not meant to be executed directly.
Please execute the program that consumes these plugins, which will
load any plugins automatically

配置IBM Cloud Provider plug-in

Terraform通过IBM Cloud Provider Plugin跟IBM Cloud REST API进行安全通信,因此在自动化部署和使用IBM Cloud资源之前,需要为IBM Cloud Provider Plugin配置访问资源所需的IBM Cloud凭证。各种资源类型需要各自不同的凭据,例如,本文描述的部署经典基础架构资源需要IBM Cloud API key,以及经典基础架构用户名和API密钥。以下内容在本文的上篇讲到过,如果已经做过这两部操作,可以直接把此前的记录拿出来备用。

获取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字符串只在创建时出现一次,这时务必要妥善保存,以后回到这个页面的“详细信息”是看不到的,官方文档上提到,这是出于安全考虑的设计。

在这里插入图片描述

生成SSH key

# ssh-keygen -t rsa -b 4096 -C mail@xdomain.com

接受默认路径,在/root/.ssh文件夹下创建相关文件:id_rsa,id_rsa.pub
上传SSH public key 即id_rsa.pub内容到IBM Cloud账户:

在这里插入图片描述

创建项目和配置文件

创建项目:

# mkdir /prja

创建Terraform变量文件terraform.tfvars,内容是IBM Cloud经典基础结构凭证和IBM Cloud API密钥。Terraform CLI初始化时会自动加载terraform.tfvars文件中定义的变量,后续也可以在Terraform配置文件中引用。

# vi /prja/terraform.tfvars
ibmcloud_api_key = "<ibmcloud_api_key>"
ssh_key = "<ssh_key_name>"		//上传到IBM Cloud时的SSH key名称
iaas_classic_username 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值