Vultr 市场要求

如果您是 Vultr 市场的新手,请参阅文档概述以开始使用。

介绍

Vultr Marketplace 对您的应用程序有一些技术要求。

  1. 尽可能使用最小的文件系统。
  2. 使用支持 cloud-init 的操作系统。
  3. 包括 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 选项,您必须添加它。

添加内核选项

  1. 编辑 /etc/default/grub

    # nano /etc/default/grub
    
  2. 找到以开头的行 GRUB_CMDLINE_LINUX_DEFAULT 并添加 vultr 到最后。

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vultr"
    
  3. Save 文件和 close 编辑。

  4. 更新 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