Vultr Marketplace Requirements
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.
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.
- Use the smallest filesystem possible.
- Use an OS that supports cloud-init.
- 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
Edit
/etc/default/grub
# nano /etc/default/grub
Find the line starting with GRUB_CMDLINE_LINUX_DEFAULT and add
vultr
to the end.GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vultr"
Save the file and close the editor.
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
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK