安装Terraform
从Terraform官网找到对应CPU架构的版本
- X86_X64如下
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
- ARM64如下
wget https://releases.hashicorp.com/terraform/1.0.9/terraform_1.0.9_linux_arm64.zip
unzip terraform_1.0.9_linux_arm64.zip
mv terraform /usr/bin
查看版本
terraform version
安装oci-cli工具
安装,一路回车即可,默认安装在/root/bin目录
bash -c "$(curl –L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
当出现===> Modify profile to update your $PATH and enable shell/tab completion now? (Y/n):
这个时候,是在提示你输入Y
回车,会自动帮你添加环境变量。之后又是一路回车。出现如下提示表示安装成功。
===> Modify profile to update your $PATH and enable shell/tab completion now? (Y/n): y
===> Enter a path to an rc file to update (file will be created if it does not exist) (leave blank to use '/root/.bashrc'):
-- Backed up '/root/.bashrc' to '/root/.bashrc.backup'
-- Tab completion set up complete.
-- If tab completion is not activated, verify that '/root/.bashrc' is sourced by your shell.
--
-- ** Run `exec -l $SHELL` to restart your shell. **
--
-- Installation successful.
-- Run the CLI with /root/bin/oci --help
把/root/bin/oci
路径移动到/usr/bin
目录下
mv /root/bin/oci /usr/bin
oci -v
这时可以用oci -v
来查询版本!
复制租户和用户的ocid
甲骨文后台右上角»用户设置»分别点击用户和租户,在信息栏中有我们需要的ID,分别点击复制,可以保存在记事本备份好。具体看图:
配置cli
oci setup config
具体配置看下面
Enter a location for your config [/root/.oci/config]:
Enter a user OCID: #输入你的用户ocid
Enter a tenancy OCID: #输入你租户的用户id
Enter a region by index or name(e.g.
1: ap-chiyoda-1, 2: ap-chuncheon-1, 3: ap-hyderabad-1, 4: ap-melbourne-1, 5: ap-mumbai-1,
6: ap-osaka-1, 7: ap-seoul-1, 8: ap-sydney-1, 9: ap-tokyo-1, 10: ca-montreal-1,
11: ca-toronto-1, 12: eu-amsterdam-1, 13: eu-frankfurt-1, 14: eu-zurich-1, 15: me-dubai-1,
16: me-jeddah-1, 17: sa-santiago-1, 18: sa-saopaulo-1, 19: uk-cardiff-1, 20: uk-gov-cardiff-1,
21: uk-gov-london-1, 22: uk-london-1, 23: us-ashburn-1, 24: us-gov-ashburn-1, 25: us-gov-chicago-1,
26: us-gov-phoenix-1, 27: us-langley-1, 28: us-luke-1, 29: us-phoenix-1, 30: us-sanjose-1): 9 #这里选择区域
Do you want to generate a new API Signing RSA key pair? (If you decline you will be asked to supply the path to an existing key.) [Y/n]: y #输入y
Enter a directory for your keys to be created [/root/.oci]:
Enter a name for your key [oci_api_key]:
Public key written to: /root/.oci/oci_api_key_public.pem
Enter a passphrase for your private key (empty for no passphrase):
Private key written to: /root/.oci/oci_api_key.pem
Fingerprint:
Config written to /root/.oci/config
If you haven't already uploaded your API Signing public key through the
console, follow the instructions on the page linked below in the section
'How to upload the public key':
https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#How2
复制生成的公钥,获取命令如下。
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
新建实例,创建的时候我们选择ubuntu20即可。注意,引导卷这里选择下硬盘大小,推荐100G,具体看图:
另存为堆栈,生产main.tf,具体看图:
这里默认即可
配置变量,也是默认,复查,默认即可。
点击创建,默认会自动运行一次,我们点击下载 Terraform 配置,会得到一个压缩包,解压后,会有main.tf,用记事本打开,会有你需要的任何信息。当然这个文件也是我们前文需要初始化的东东,总而言之,这个文件就是这么来的。
刷鸡 & 升级 VPS
安装jq
apt-get install jq -y
下载oci.sh并编辑填入自己的相关参数设置
- 新建VPS
./oci.sh --launch
- 升级VPS
./oci.sh --update
用oci申请开通ARM
运行命令的脚本如下:注意arm和普通的免费机器不太一样,因为你需要添加shape_config 配置。
新建一个oracle.sh
内容如下
oci compute instance launch --availability-domain yxrF:AP-TOKYO-1-AD-1 --image-id ocid1.image.oc1.ap-seoul-1.aaaaaaaa..... --subnet-id ocid1.subnet.oc1.ap-seoul-1.aaaaaaaa..... --shape VM.Standard.A1.Flex --assign-public-ip true --metadata '{"ssh_authorized_keys": "ssh-rsa xxxxxxxxxxxxxxxxx填你自己的"}' --compartment-id ocid1.tenancy.oc1..aaaaaaaa...... --shape-config '{"ocpus":4,"memory_in_gbs":24,"boot_volume_size_in_gbs":100}'
替换相关信息为自己的
具体的解释如下:
- availabilityDomain:可用性域 我的是日本(yxrF:AP-TOKYO-1-AD-1)
- compartmentId:tenancyOCID
- assignPublicIp:公网IP true
- subnetId:子网
- displayName:实例名,根据自己的main.tf里面的信息填写。
- ssh_authorized_keys :秘钥,需要填写你自己的
- shape 实例配置 ARM:“VM.Standard.A1.Flex”
- shape-config:机器配置
- imageId: “ocid1.iAP-TOKYO-1-AD-11.aaaaaaaar……….”
注意,这些信息,我们在第一步生成的main.tf中全部可以找到,不用你按下F12来辛苦查找了。
chmod +x oracle.sh
bash oracle.sh
先试运行一次脚本,以上的修改好后,全部复制回车运行,显示如下提示表示配置正确。
ServiceError:
{
"code": "InternalError",
"message": "Out of host capacity.",
"opc-request-id": "4DB42C2C4D5C43EABF8D4F72C956AC16/FA5DCB4801F111E0B1B063C79104D4B4/F991EFEB439BFFD77D570CA4787B8BFF",
"status": 500
}
先将一长串的oci命令写到/root/oracle.sh中,如果是用的宝塔那么直接在目录下面新建一个oracle.sh,然后复制那一串代码粘贴保存即可。
创建日志文件
touch oracle.log
创建定时执行任务
echo "*/20 * * * * root /bin/bash /root/oracle.sh > /root/oracle.log 2>&1" >> /etc/crontab
重启crontab进程
/etc/init.d/cron restart
systemctl restart cron
systemctl restart cron.service
以上示范每20秒刷一次ARM VPS可按需修改,查看日志。
cat oracle.log
enjoy……
本文转载自:https://www.daniao.org/14121.html https://www.daniao.org/14035.html