前言
之前手动开到的免费机被我玩炸了,但是救砖没能救回来,初步猜测是因为我用收费机dd到免费机导致不能正常引导。
折腾了太久还是没弄好,怒删之。重新抢吧。
重新抢到当然不能再手刷肝了,要用魔法打败魔法。
最初是想在浏览器用控制台刷,但是效率不是那么好,电脑也不能关。
搜索了一下相关内容,找到了使用API开通机器的内容。
研究了好一会,明白了。
官方文档:https://docs.oracle.com/en-us/iaas/tools/oci-cli/3.1.1/oci_cli_docs/cmdref/compute/instance/launch.html
具体操作
大致过程
1 安装oci-cli工具
2 到oracle后台查看并记下ocid
3 记下要开通的机器参数(API调用)
4 配置oci工具
5 用oci申请开通机器
6 将5写成脚本循环定时执行
1 安装oci-cli工具
bash -c "$(curl –L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
一路回车即可,默认安装在/root/bin目录
===> Modify profile to update your $PATH and enable shell/tab completion now? (Y/n):
出现如上显示时输入y回车,会自动帮你添加环境变量。
安装完成后可以使用oci -v查看是否安装成功
2 到oracle后台查看并记下ocid
可以看到有两个用户,一个是你注册邮箱的用户,一个是oracle开头一长串的用户,选择邮箱的那个用户,复制ocid
如图所示,箭头所指即为ocid。先记录下来或者别关闭网页,后面要用。
另外还需要一个租户ocid
操作同用户ocid,但页面在https://cloud.oracle.com/tenancy
3 记下要开通的机器参数(API调用)
打开甲骨文创建机器的页面,填写好机器信息。
F12打开控制台
点击创建
找到instances
右侧就是你创建机器的信息
- availabilityDomain #可用性域 我的是韩国(ppuW:AP-SEOUL-1-AD-1)
- compartmentId # tenancyOCID
- assignPublicIp # 公网IP true
- subnetId # 子网
- displayName # 实例名,留空让它默认就好,也可指定
- ssh_authorized_keys #SSH秘钥,需要填写你自己的
- shape # 实例配置 免费的就是"VM.Standard.E2.1.Micro"
- imageId # 镜像 Ubuntu 18.04 Minimal "ocid1.image.oc1.ap-seoul-1.aaaaaaaarhyekvffvcfihyh732bdqjprqgww2rlnytqeyqssmm347czaaneq"
4 配置cli
oci setup config
如图配置,后面一路回车即可
复制生成的公钥
cat /root/.oci/oci_api_key_public.pem
复制终端展示出来的内容
添加到甲骨文后台
甲骨文后台=>身份>>用户>>用户详细信息>>API秘钥>>添加公共秘钥
填写上面复制的公钥内容,点击添加即可。
检查oci配置是否正确
oci iam availability-domain list
如果没有报错,查看返回的信息,检查前面是否有输错。
5 用oci申请开通机器
oci compute instance launch --availability-domain ppuW:AP-SEOUL-1-AD-1 --image-id ocid1.image.oc1.ap-seoul-1.aaaaaaaa..... --subnet-id ocid1.subnet.oc1.ap-seoul-1.aaaaaaaa..... --shape VM.Standard.E2.1.Micro --assign-public-ip true --metadata '{"ssh_authorized_keys": "ssh-rsa xxxxxxxxxxxxxxxxx填你自己的"}' --compartment-id ocid1.tenancy.oc1..aaaaaaaa......
返回了
**ServiceError:
"code": "InternalError",
"message": "Out of host capacity.",
"opc-request-id": "XXXXXXXXX",
"status": 500
}**
熟悉的Out of host capacity.
说明和我们网页手动点是一样的了
6 将5写成脚本循环定时执行
先将一长串的oci命令写到/root/oracle.sh
crontab –e
到最底下添加
*/2 * * * * bash /root/oracle.sh
表示每隔两分钟执行一遍bash /root/oracle.sh
后言
昨晚在VPS上挂着刷了一晚上,刷到了一台,美滋滋。就这样