如果您是 Vultr 市场的新手,请参阅文档概述以开始使用。
介绍
Vultr Marketplace 对您的应用程序有一些技术要求。
- 尽可能使用最小的文件系统。
- 使用支持 cloud-init 的操作系统。
- 包括 Vultr 内核选项。
1. 从小文件系统开始
当客户部署 Marketplace 应用程序时,Vultr 可以扩展您的应用程序以填充文件系统,但不能缩小它。 如果您创建一个 20 GB 的 Marketplace 应用程序,并且客户部署了 80 GB 的订阅,Vultr 将扩展该应用程序以填充整个 80 GB 的文件系统。 但是,如果您创建具有 80 GB 文件系统的应用程序,则客户无法在较小的 Vultr 实例上部署该应用程序。
2. 安装云初始化
Vultr 市场使用 云初始化 使用网络地址、密码和启动脚本初始化实例。 如果您使用 Vultr 的镜像,这些操作系统已预安装正确版本的 cloud-init:
- 阿尔玛 Linux
- Arch Linux(位于 Vultr 市场)
- CentOS 8 流
- Debian 11
- 洛奇 linux
- VZ Linux
Canonical 在 cloud-init 版本 21.2 中添加了对 Vultr 的支持。 在您的操作系统存储库中提供此版本之前,请安装 Vultr 的 cloud-init。 请参阅 install_cloud_init()
功能在 我们在 GitHub 上的帮助脚本,或按照以下步骤操作。
RHEL、CentOS 和其他基于 yum 的发行版 应该安装如下。
# cd /tmp
# wget https://ewr1.vultrobjects.com/cloud_init_beta/cloud-init_rhel_latest.rpm
# yum install -y cloud-init_rhel_latest.rpm
Debian 必须使用这个版本。 不要从源代码编译或从 Debian 存储库安装。
# cd /tmp
# wget https://ewr1.vultrobjects.com/cloud_init_beta/cloud-init_debian_latest.deb
# apt-get update -y
# apt-get install -y /tmp/cloud-init_debian_latest.deb
Ubuntu 应该使用通用构建。
# cd /tmp
# wget https://ewr1.vultrobjects.com/cloud_init_beta/cloud-init_universal_latest.deb
# apt-get update -y
# apt-get install -y /tmp/cloud-init_universal_latest.deb
网络管理员注意事项
Cloud-init 可能无法在某些发行版(例如 CentOS 和 RHEL)上正确地与 NetworkManager 交互。 在这些发行版上,网络将无法正确配置,并且引导过程失败。 如果发生这种情况,请禁用 NetworkManager,然后安装并启用 网络脚本 包裹。 NetworkManager 必须禁用但不需要卸载。
3.设置Vultr内核选项
Marketplace 需要内核选项 vultr
在裸机实例上。 它对于云部署是可选的,但最好的做法是使您的应用程序与 VPS 和 Bare Metal 部署兼容。 如果您的应用程序基于 Vultr 的操作系统映像之一,则此内核选项可能已经存在。
检查内核选项
查看 /etc/default/grub
:
# grep 'vultr' /etc/default/grub
你可能会看到 vultr
在输出中:
GRUB_CMDLINE_LINUX_DEFAULT="vultr"
如果没有 vultr
选项,您必须添加它。
添加内核选项
编辑
/etc/default/grub
# nano /etc/default/grub
找到以开头的行 GRUB_CMDLINE_LINUX_DEFAULT 并添加
vultr
到最后。GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vultr"
Save 文件和 close 编辑。
更新 grub。 检查您的发行版的文档以确定正确的过程。 Ubuntu/Debian 系统可以使用
update-grub
公用事业。# update-grub
CentOS/RHEL
CentOS/RHEL 系统可以使用这种单机解决方案来添加内核选项。
# /sbin/grubby --update-kernel=ALL --args vultr
下一步
安装所需的软件后,创建您的配置脚本并包含您定义的任何市场变量。
更多信息
有关更多信息,请参阅 这个 example 脚本,它会在基于 apt 的系统上安装 cloud-init。
本指南是 Vultr 市场文档的一部分。 有关更多信息,请参阅文档概述。
注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com