Oracle甲骨文的机器被撸爆了,导致小伙伴都开不到免费的机器,于是写个脚本,放到服务器自己抢,资源出来基本就能开到。此脚本,是利用Terraform调用API来执行任务,下面简单的说明一下。

甲骨文 ARM,大家都用了有阵子了,总结起来就是两个字“真香”,不过日本和韩国线路已经不堪重负。

因为一机难求,所以大家都用上了脚本,又因为用脚本的人太多,有很多刷机的童鞋收到了警告的邮件,这就很矛盾了,如果你不刷,是肯定抢不到机器的,但是刷了,又怕被警告,进而有封号的风险。唯一比较稳妥的方法就是你把时间调整的稍微长一点,这样可能会好点。

甲骨文在几天前在选配实列中提供了一个新的选项VM.Standard.A1.Flex。根据用户协议,可以自由分配 4个OCPU,24 GB 内存,最大200GB空间容量和4GB的带宽。新开出的免费机型配置不可思议地高,令人难以置信。据了解,该机型仅部分区域可开通。它不占用此前开出的2台免费服务器的配额。但是,因为抢购火爆,所以一机难求。如果你不用个脚本跑一跑估计很难抢到vps。

一、安装terraform

官网地址自行安装:

  • Linux/Ubuntu 命令安装

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
sudo apt-get update && sudo apt-get install terraform

二、生成main.tf

1、创建实例,创建的时候我们选择系统:ubuntu20.04(不能选带后缀的精简版),VM.Standard.A1.Flex:4C 24G,并粘贴密匙。这个过程跟我们正常创建实例是一样。

例子:

在所有信息都填写完毕后,选择 另存为堆栈 。堆栈信息、配置变量,全都默认;复查,选中下方的“运行”。最后点击创建,堆栈会自动运行一次。

2、我们点击下载 Terraform 配置,会得到一个压缩包。解压后,会有main.tf,里面的信息就是我们后面需要用到的。

三、terraform环境初始化

创建terraform-learning文件夹
cd /opt/
mkdir terraform-learning && cd terraform-learning

把下载好的main.tf 放在terraform-learning文件夹里

terraform init

四、下载安装oci工具

命令:

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回车,会自动帮你添加环境变量。之后又是一路回车,出现如下提示表示安装成功。

===> 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

注:如果返回信息显示没有找到 oci ,那是因为安装后,变量不会立即反映出来,所以我们重新加载一下

四、配置cli

1、输入如下代码开始配置,配置的路径默认在root目录

oci setup config

2、具体配置看下面

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): #这里选择区域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/configIf you haven't already uploaded your API Signing public key through theconsole, 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

3、复制生成的公钥

cat /root/.oci/oci_api_key_public.pem

4、把展示出来的内容复制下来。并且添加到,甲骨文后台=>用户设置>>资源>>API秘钥>>添加API秘钥

通过cat /root/.oci/oci_api_key_public.pem这条命了获取,把获取到的公钥,完整的粘贴上去,点击添加。

5、验证密钥是否有效:

oci iam availability-domain list

正确返回的结果,证明添加密钥有效。

6 、验证脚本

main.tf 完善好之后接下来就开始创建任务

cd /opt/terraform-learning/terraform apply

执行完上面命令之后,会提示输入yes:

脚本和API配置就结束了,可以看到API返回Error Message: Out of host capacity,提示主机容量不足,接下来,我们利用shell,不停的请求这个API接口,创建主机。

五、shell脚本,服务器开机自动执行任务

vi terraform.sh

把如下代码复制进去:

#!/bin/bashpath='/opt/terraform-learning/'cd $path &&
while true
doecho 'yes' | terraform applysleep 10s
done
root@instance-20220220-0010:/opt/terraform-learning# 

给Shell脚本赋予执行权限:

chmod +x terraform.sh

六、开机自启脚本

vi terraform_start.sh

#!/bin/sh
nohup /opt/terraform-learning/terraform.sh >> /opt/terraform-learning/terraform.log 2>&1  &
使用我之前写的开机自启博客来开启吧,这里就不多说了!ubuntu系统服务器利用systemctl命令实现开机自启服务一键脚本启动https://blog.csdn.net/wto882dim/article/details/123036731结束脚本只能通过kill杀死进程:
pkill terraform

注意:

脚本执行之后,会一直调用API创建实例,可以通过甲骨文控制台的限制策略,限制一下资源,以免一直创建,方法如下:

登录oracle控制台

set compute-core quota standard-a1-core-count to 8 in compartment 你的帐号用户名 where request.region = ap-tokyo-1

这条策略的意思是,限制我用户,在东京区域,只能创建最多8个cpu的资源,然后,在限制使用量这里,输入Cores for Standard.A1 based VM and BM Instances查询一下,可用数量,如下图就代表限制成功。

大功告成!!!!!!!!!!!!

Ubuntu/Linux Terraform oci 一键脚本抢购​ 甲骨文Oracle VM.Standard.A1.Flex​ 4个OCPU,24 GB 内存的vps相关推荐

  1. Linux网络优化加速一键脚本

    对于出口带宽,我们常常采用BBR,锐速等TCP加速软件来争夺带宽提高自己的速度. 但是原版的BBR并没有太多侵略性,在这个人人都用TCP加速的大环境下,BBR的加速功效就略显不足了.loc的大佬专门改 ...

  2. linux安装asp一键脚本,CentOS/Debian/Ubuntu网络重装系统一键脚本

    文章转载自 萌咖 && 狗仔小分队 特别注意:OpenVZ构架不适用,安装之前备份重要数据. 特别注意:OpenVZ构架不适用,安装之前备份重要数据. 特别注意:OpenVZ构架不适用 ...

  3. linux安装nodejs一键脚本,ubuntu16.04部署nodejs+vue框架脚本

    #获取和安装node wget https://nodejs.org/dist/v8.9.2/node-v8.9.2-linux-x64.tar.xz xz -d node-v8.9.2-linux- ...

  4. VirtualBox虚拟机使用Vagrant连接win(甲骨文Oracle VM )

    虚拟机 一.VirtualBox安装 (一)软件下载地址: (二)虚拟化开启: 二.Vagrant:构建虚拟开发环境工具 (一)特点 (二)下载: (三)安装: (三)测试: (四)Vagrant下载 ...

  5. Linux学习之一键建站脚本

    本文转自lnmp.lamp.lnmpa一键安装包和LAMP一键安装脚本使用说明 这个脚本是使用shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa(Linux.Nginx/Tengi ...

  6. 谷歌云oracle,DD Windows 一键脚本(包含GCP谷歌云Oracle甲骨文)

    说明 无限制全自动dd安装Windows 突破没有VNC,没有救援模式,内存比dd包小的限制 使用Debian Live CD中的busybox做中间媒介,经过复杂的处理使本机的网络参数传进Windo ...

  7. linux开心的shell,Linux BT 宝塔面板开心版 [一键脚本]

    Linux BT 宝塔面板开心版 [一键脚本] 安装要求 内存:512M 以上,推荐 768M 以上(纯面板约占系统 60M 内存) 硬盘:100M 以上可用硬盘空间(纯面板约占 20M 磁盘空间) ...

  8. 在ubuntu linux 中编写一个自己的bash脚本

    在ubuntu linux 中编写一个自己的简单的bash脚本. 实现功能:终端中输入简单的命令(以pm为例(play music)),来实现音乐的播放.注:本人ununut中安装了audacious ...

  9. Linux系统VPS云服务器硬件/网速/性能/延迟测试一键脚本分享

    一些常用的VPS性能测试脚本,部分经过实际测试,基本可以正常使用,关于脚本测试出来数据的准确性,需要自行甄别,仅供参考. 本站所收集的一键脚本均来自网络,不对其收集的脚本负责,请注意保管并备份资料,建 ...

最新文章

  1. excel表格出问题了
  2. SCRM管理系统应具备的8大特点
  3. GMap.net 离线地图问题
  4. BugkuCTF-Misc:telnet
  5. arcgis python脚本实现从界面选择输入输出_ArcGIS Python脚本实现数据驱动页面的批量出图...
  6. 使用JavaScript在Canvas上画出一片星空
  7. wikioi 2315 longge的问题 2012年省队选拔赛山东(欧拉函数应用)
  8. uvm设计分析——tlm
  9. Word VBA中读取Excel表格中的数据
  10. 通信系列2: 深入浅出SIP协议
  11. OpenCASCADE6.8.0 Reference Manual Serach Problem
  12. Android 角标设置
  13. 虚拟机服务器一直自动关机,诡异的Vmware虚拟机自动关机故障
  14. Fragment already added 解决方式
  15. 2020蓝桥杯python——纪念日
  16. Android 65536 详解!
  17. 2022K+全球软件研发行业创新峰会议题海选精彩进行中
  18. 【沽泡学院07】基于ElasticSearch搜索附近的人
  19. nn.Parameter
  20. 集合的基本操作和基本运算

热门文章

  1. 百度抢先发布中国版ChatGPT——文心一言,现已开通测试申请
  2. Python金融大数据分析-数据获取与简单处理
  3. 图片瀑布流加载和购物车
  4. 项目规划中的Epic、Feature、Story和Task的关系
  5. 2022年连锁酒店行业研究报告
  6. 微信小程序在 wxml 文件中使用 Array.includes 方法
  7. 笔记---怪诞行为学
  8. Eclipse从本地压缩包安装插件
  9. 红米3s进不了recovery_红米3s卡刷教程_红米3s用recovery刷第三方系统包
  10. slide-view 微信小程序官方左滑删除组件