How to install MicroCloud¶
Pre-deployment requirements¶
The requirements in this section apply to all MicroCloud deployments.
A physical or virtual machine intended for use as a MicroCloud cluster member must meet the following prerequisites:
Software:
Ubuntu 22.04 or newer (LTS version recommended)
If you intend to use ZFS storage, use a non-HWE (Hardware Enabled) variant of Ubuntu 22.04
snapd 2.59 or newer
Networking:
Fixed IP addresses (DHCP not supported)
At least two network interfaces per cluster member: one for intra-cluster communication and one for external connectivity to the uplink network
Partially or fully disaggregated networking setups require more interfaces; see: How to configure Ceph networking
To use a dedicated underlay network for OVN traffic, an additional interface per cluster member is required
Uplink network must support both broadcast and multicast
Intra-cluster interface must have IPs assigned; external connectivity interface (to uplink) must not have any IPs assigned
Storage:
Disks should be free of existing partitions or file systems
For local storage, each cluster member must have at least one local disk
If you intend to use full disk encryption on a cluster member, it must have
snapd
version2.59.1
or newer installed and thedm-crypt
kernel module availableTo check if the module exists, run:
sudo modinfo dm-crypt
Important
These requirements are in addition to those listed in the General tab.
Physical or virtual machines can be used
Minimum cluster size:
1 member
Memory:
Minimum 8 GiB RAM per cluster member
Networking:
It is possible to use a single network interface per cluster member. However, such a configuration is neither supported nor recommended. For details, see: Single network interface configuration.
Storage:
If high availability is required, use distributed storage with:
a minimum of 3 cluster members
a minimum of 3 separate disks located across 3 different members
Otherwise, local storage is sufficient
Important
These requirements are in addition to those listed in the General tab.
Physical machines only (no VMs)
Minimum cluster size:
3 members
For critical deployments, we recommend a minimum of 4 members
Memory:
Minimum 32 GiB RAM per cluster member
Software:
For production deployments subscribed to Ubuntu Pro, each cluster member must use a LTS version of Ubuntu
Networking:
For each cluster member, we recommend dual-port network cards with a minimum 10 GiB capacity, or higher if low latency is essential
Storage:
For each cluster member, we recommend at least 3 NVMe disks:
1 for OS
1 for local storage
1 for distributed storage
For detailed information, see: Requirements.
Installation¶
To install MicroCloud, install all required snaps on all machines that you want to include in your cluster. You can optionally specify a channel for each snap, but generally, you can leave out the channel to use the current recommended default.
To do so, enter the following commands on all machines:
sudo snap install lxd --cohort="+"
sudo snap install microceph --cohort="+"
sudo snap install microovn --cohort="+"
sudo snap install microcloud --cohort="+"
The --cohort
flag ensures that versions remain synchronized during later updates.
Following installation, make sure to hold updates.
Previously installed snaps¶
If a required snap is already installed on your machine, you will receive a message to that effect. In this case, check the version for the installed snap:
snap list <snap>
View the matrix of compatible versions to determine whether you need to upgrade the snap to a different channel. Follow either the update or upgrade instructions below.
Update¶
If the installed snap is using a channel corresponding to a release that is compatible with the other snaps, update to the most recent stable version of the snap without changing the channel:
sudo snap refresh <snap> --cohort="+"
Upgrade¶
If you need to upgrade the channel, run:
sudo snap refresh <snap> --cohort="+" --channel=<target channel>
Example:
sudo snap refresh microcloud --cohort="+" --channel=2/stable
Optionally specify a channel¶
Channels correspond to different releases. When unspecified, MicroCloud and its components’ snaps use their respective recommended default channels.
To specify a different channel, add the --channel
flag at installation:
sudo snap install <snap> --cohort="+" --channel=<target channel>
For example, to use the 3/edge
channel for the MicroCloud snap, run:
sudo snap install microcloud --cohort="+" --channel=3/edge
For details about the MicroCloud snap channels, see: Channels.
Hold updates¶
When a new release is published to a snap channel, installed snaps following that channel update automatically by default. This is undesired behavior for MicroCloud and its components, and you should override this default behavior by holding updates. See: Hold updates.