Python成功解决:可用性域*中配置 VM.Standard.A1.Flex 的容量不足

简介

Oracle 允许我们在其云服务中创建免费资源(例如 VM)以进行测试。例如,具有最大 4 个 OCPU 和 24GB RAM 的 VM.Standard.A1.Flex 非常适合托管网站。然而,交易并不总是可用的,因为需求总是比甲骨文所能提供的多。如果您现在尝试创建免费 VM,大多数情况下您会收到“VM.Standard.A1.Flex 的容量不足”错误消息。在这篇文章中,我将向您展示如何运行一个脚本,该脚本会随着时间的推移运行并尝试创建一个 VM,直到它成功。

亲测的Python运行脚本:(代码中涉及服务器隐私信息,仅供自己使用,如有需要请移步下文自行下载原生脚本!)

链接:https://pan.baidu.com/s/13wnDfoZ0IUVD0Bs8cMvHtw
提取码:(保密)

Out of capacity for shape VM.Standard.A1.Flex in availability domain AD-1. Create the instance in a different availability domain or try again later. 如果指定了容错域,请尝试在不指定容错域的情况下创建实例。如果这样不起作用,请稍后重试。 了解有关主机容量的更多信息。

脚步

  • 该脚本是 Python 脚本。您需要在计算机上安装Python。该脚本需要一些设置才能正常工作。变量的值可以通过以下步骤获得。
  • 转到Oracle Cloud并开设一个帐户。你需要一张主卡。主区域是您要创建 VM 的位置。Home 区域设置后无法更改。因此,请明智地选择您所在的地区,以便您以后可以利用 VM。
  • 创建帐户后,登录到您的帐户。在右上角,单击配置文件图标,然后选择用户设置
Oracle 添加API秘钥
Oracle 添加API秘钥
添加API秘钥
  • 确保选中 生成API密钥对,单击 下载私有秘钥 并将其保存为文件 oci_private_key.pem
oci_private_key.pem
oci_private_key.pem
  • 单击添加。从 textarea 复制内容并将其保存为文件config
  • configoci_private_key.pem文件放在同一目录中。
  • 打开配置文件并编辑key_file的行。那是您的私钥的路径。注意:如果您使用 Windows,则路径必须是绝对路径。
  • 转到Oci Python 脚本存储库并下载文件oci_auto.py。将其与其他文件一起保存在目录中。下载后只需要修改如下红框区域,其他信息请勿修改。
修改python脚本文件
修改python脚本文件
创建 VM 实例
创建 VM 实例

向下滚动到网络。点击编辑。选择不分配公共 IPv4 地址

不分配公共IP
不分配公共IP

向下滚动到添加 SSH 密钥。单击保存私钥保存公钥。将它们存放在安全的地方。我们稍后会需要它。

生成密钥对
生成密钥对
  • 在创建 VM 之前,按F12打开 DevTools。选择标签网络
  • 单击创建。你会收到一个错误。

在 开发者工具 的选项卡Network中,现在搜索实例请求。右键单击它。选择复制 –> 复制为 cURL (cmd)

开发者工具复制为 cURL (cmd)
开发者工具复制为 cURL (cmd)
  • 将内容复制到编辑器。找到零件–data-raw
  • 打开您之前下载的oci_auto.py并将值替换为–data-raw中的值。
参考文件
参考文件

根据上面文件,完成下面文件!

python脚本
python脚本
instance_display_name = 'instance-********'
compartment_id = 'ocid1.tenancy.oc1..********'
domain = "OFDj:AP-SINGAPORE-1-AD-1"  # availability_domain
image_id = "ocid1.image.oc1.ap-singapore-1.********"
subnet_id = 'ocid1.subnet.oc1.ap-singapore-1.********'
ssh_key = "ssh-rsa ******** ssh-key-2022-01-14"

设置完成后,在 Ubuntu 使用以下命令:

sudo apt-get update
sudo apt-get upgrade

sudo apt install python3-pip

pip3 install --upgrade pip    //因为ubuntu系统已经默认安装pip3,这边要更新一下!
pip3 install requests    //亲测过程,只使用命令:pip install requests
pip3 install oci
python3 oci_auto.py    //该命令必须到当前文件夹下打开终端后输入!

如果您看到这一点,则表示脚本已成功运行。

脚本运行成功
脚本运行成功(图片来源网上)

可能需要几天的时间才能为您提供一个免费的位置。当他成功创建虚拟机时,脚本将退出并返回一条消息。

补充20220326:从运行脚本开始,到注册成功,本人亲测时长为一个月左右,成功注册时间如下图。

注册成功
注册成功

然后再到Oracle Cloud后台验证一下是否已经申请到实例了。

登录后台验证成功
登录后台验证成功
  • 创建 VM 后,转到实例,选择新创建的实例。
  • 向下滚动到资源。选择附加的 VNIC。单击新创建的 VNIC。(默认的VNIC随脚本一起创建成功!我们只需要点击进入就可以)
单击进入脚本创建好的VNIC
单击进入脚本创建好的VNIC

单击进入附加的VNIC后,下拉找到IPv4地址选项。

编辑IPv4地址
编辑IPv4地址
  • 向下滚动到资源。选择IPv4 地址编辑并选择临时公共 IP。单击更新
生成临时公共IP
生成临时公共IP

然后就有了上图获得的公共IP地址了。通过IP和之前保存的私钥连接到服务器就可以。

备注:中间出现一个小插曲,就是我第一次申请了一个临时IP地址,尝试连接并没有成功(检测过IP的22端口是开启的),还重启了一次服务器。后来重新更换了一次IP,成功登录SSH。

Oracle 虚拟服务器(VPS)更换 IP

备注2:最后再提醒一下,务必在Oracle Cloud后台开放几个端口,如果未开启,会导致搭建的web应用无法正常访问!

开启几个通用的端口
开启几个通用的端口

如何操作?如下图:

端口开启操作方法
端口开启操作方法

安装成功后,需要在Oracle VPS上部署(宝塔/小皮)web环境推荐阅读:https://www.youtube.com/watch?v=g7sP33QtuxM&t=245s

因为我是选择的Oracle VPS映像是: Oracle-Linux-8.5-aarch64-2022.01.27-0(该镜像的内核是 Centos )。其实很简单,就 2 行命令:(具体参考网站:https://www.bt.cn/new/download.html)

sudo -i   //切换到管理员权限
yum update -y   //更新
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

等待6分钟安装成功!

滚动至顶部