利用Terraform+堆栈自动刷服务器
安装oci-cli工具
bash -c "$(curl –L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
输入y回车,会自动帮你添加环境变量。之后又是一路回车oci -v
查询版本
如果centos安装错误,注意pip源,如阿里云腾讯云默认pip为内网源
pip源在/root/.pip里面
复制ocid信息
甲骨文后台复制租户和用户的ocid
配置cli
oci setup config
配置
Enter a user OCID: #输入你的用户ocid
Enter a tenancy OCID: #输入你租户的用户id
选择区域代码,其他Y
复制生成的公钥,获取命令如下。
cat /root/.oci/oci_api_key_public.pem
把展示出来的内容复制下来。并且添加到,甲骨文后台=>用户设置>>资源>>API秘钥>>添加API秘钥
检查oci配置是否正确
oci iam availability-domain list
正确返回:
{
"data": [
{
"compartment-id": "ocid1.tenancy.oc1..aaaaaaaauoxxxxxxxxxxxxx",
"id": "ocid1.availabilitydomain.oc1..aaaaaaaaaixxxxxxxxxxxxx",
"name": "uffff:AP-TOKYO-1-AD-1"
}
]
}
创建堆栈
创建实例,选好配置,另存为堆栈,并下载main.tf文件
自动脚本
Terraform
wget https://releases.hashicorp.com/terraform/0.15.4/terraform_0.15.4_linux_amd64.zip
unzip terraform_0.15.4_linux_amd64.zip
mv terraform /usr/bin
检查版本的
terraform version
创建文件夹
mkdir terraform && cd terraform
上传前面生成的堆栈文件main.tf到terraform文件夹
terraform init
terraform apply
vi opc.sh
#!/bin/bash
path='/root/terraform/'
cd $path &&
while true
do
echo 'yes' | terraform apply
sleep 3s
done
赋予权限
chmod +x opc.sh
screen运行
screen -S opc
bash /root/terraform/opc.sh
恢复screen
screen -r opc
来源大鸟博客