• 欢迎访问好鸭,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏好鸭吧

【脚本】使用oci-cli调用API刷甲骨文Oracle免费机器

Linux haoduck 2年前 (2020-02-16) 954次浏览 2个评论

前言

之前手动开到的免费机被我玩炸了,但是救砖没能救回来,初步猜测是因为我用收费机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查看是否安装成功
【脚本】使用oci-cli调用API刷甲骨文Oracle免费机器

2 到oracle后台查看并记下ocid

甲骨文后台=>身份>>用户

可以看到有两个用户,一个是你注册邮箱的用户,一个是oracle开头一长串的用户,选择邮箱的那个用户,复制ocid

【脚本】使用oci-cli调用API刷甲骨文Oracle免费机器

如图所示,箭头所指即为ocid。先记录下来或者别关闭网页,后面要用。

另外还需要一个租户ocid

操作同用户ocid,但页面在https://cloud.oracle.com/tenancy

3 记下要开通的机器参数(API调用)

打开甲骨文创建机器的页面,填写好机器信息。

F12打开控制台

点击创建

【脚本】使用oci-cli调用API刷甲骨文Oracle免费机器

找到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

【脚本】使用oci-cli调用API刷甲骨文Oracle免费机器
如图配置,后面一路回车即可

复制生成的公钥

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上挂着刷了一晚上,刷到了一台,美滋滋。就这样


好鸭 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【脚本】使用oci-cli调用API刷甲骨文Oracle免费机器
喜欢 (1)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 老哥SOS,但凡输入 oci iam availability-domain list 就报错:FileNotFoundError: [Errno 2] No such file or directory: 'services'。这可咋整呀?
    SOS2020-04-21 18:51 Reply Mac OS X | Firefox浏览器 75.0
    • 或许是环境变量的问题?我配置的时候并没有出现过,所以不太清楚
      haoduck2020-04-21 19:14 Reply Windows 10 | Chrome 80.0.3987.163