2

Vultr Marketplace Requirements

 2 years ago
source link: https://www.vultr.com/docs/vultr-marketplace-requirements
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
<?xml encoding="utf-8" ??>

If you are new to the Vultr Marketplace, please see the documentation overview to get started.

Introduction

Vultr Marketplace has a few technical requirements for your application.

  1. Use the smallest filesystem possible.
  2. Use an OS that supports cloud-init.
  3. Include the Vultr kernel option.

1. Start with a Small Filesystem

When a customer deploys a Marketplace app, Vultr can expand your app to fill the filesystem but cannot shrink it. If you create a 20 GB Marketplace app, and the customer deploys an 80 GB subscription, Vultr will expand the app to fill the entire 80 GB filesystem. However, if you create an app with an 80 GB filesystem, customers cannot deploy the app on smaller Vultr instances.

2. Install cloud-init

Vultr Marketplace uses cloud-init to initialize the instance with network addresses, passwords, and startup scripts. These operating systems have the correct version of cloud-init pre-installed if you use Vultr's images:

  • Alma Linux
  • Arch Linux (located in Vultr Marketplace)
  • CentOS 8 Stream
  • Debian 11
  • Rocky linux
  • VZ Linux

Canonical added support for Vultr in cloud-init version 21.2. Until this version is available in your OS repository, please install Vultr's cloud-init. Please see the install_cloud_init() function in our helper script on GitHub, or follow the steps below.

RHEL, CentOS, and other yum-based distributions should install as follows.

# cd /tmp
# wget https://ewr1.vultrobjects.com/cloud_init_beta/cloud-init_rhel_latest.rpm
# yum install -y cloud-init_rhel_latest.rpm

Debian must use this version. Do not compile from source or install from the Debian repositories.

# 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 should use the universal build.

# 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

NetworkManager Note

Cloud-init may not correctly interface with NetworkManager on some distros, such as CentOS and RHEL. On these distributions, the network will not be configured correctly, and the boot process fails. If this occurs, disable NetworkManager, then install and enable the network-scripts package. NetworkManager must be disabled but does not need to be uninstalled.

3. Set the Vultr Kernel Option

The Marketplace requires the kernel option vultr on Bare Metal instances. It's optional for cloud deployment, but it's a best practice to make your application compatible with both VPS and Bare Metal deployments. If your application is based on one of Vultr's OS images, this kernel option may already exist.

Check the Kernel Option

Check /etc/default/grub:

# grep 'vultr' /etc/default/grub

You may see vultr in the output:

GRUB_CMDLINE_LINUX_DEFAULT="vultr"

If there is no vultr option, you must add it.

Add the Kernel Option

  1. Edit /etc/default/grub

    # nano /etc/default/grub
    
  2. Find the line starting with GRUB_CMDLINE_LINUX_DEFAULT and add vultr to the end.

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vultr"
    
  3. Save the file and close the editor.

  4. Update grub. Check the documentation for your distribution to determine the correct procedure. Ubuntu/Debian systems may use the update-grub utility.

    # update-grub
    

CentOS/RHEL

CentOS/RHEL systems may use this one-line solution to add the kernel option.

# /sbin/grubby --update-kernel=ALL --args vultr

Next Steps

After installing the required software, create your provisioning scripts and include any Marketplace variables you've defined.

More Information

For more information, see this example script, which installs cloud-init on an apt-based system.

This guide is part of the Vultr Marketplace documentation. Please see the documentation overview for more information.

Want to contribute?

You could earn up to $600 by adding new articles


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK