Installation

Management Plane Requirements

Deployment

Minimum

Recommended

Multi Node

Compute: 8vCPU, Memory: 16GB, Disk: 250GB

Compute: 8vCPU, Memory: 16GB, Disk: 300GB

Single Node

Compute: 16 vCPU, Memory: 32 GB, Disk: 250GB

Compute: 16 vCPU, Memory: 32 GB, Disk: 300GB

Disks

For proper functionality, the Management Plane relies on a performant underlying Kubernetes cluster. To achieve optimal performance, we recommend utilising an SSD (Solid State Drive). Please refer to https://etcd.io/docs/v3.4/op-guide/hardware/#disks for more details.

Operating Systems

SMCP is designed to run on the following Operating Systems.

Operating System

Version

CentOS

7.9

RHEL

8.5, 8.6

Rocky Linux

9.2

Ubuntu Linux

22.04 LTS (Jammy Jelfish)

Networking

Virtual IPs

SMCP uses virtual IPs to access the Management Cluster. We require 2 virtual IPs on the same L2 domain as the nodes in the management cluster.

VIP

Description


Required

Configuration

VIP 1

This is the IP where you can access the management cluster's UI.


Yes

externalIp and/or externalIpV6 in airctl-config.yaml

VIP 2

This is used to serve the management cluster's API server.


Optional

masterIp and/or masterIpV6 in clusterSpec.yaml (pointed to by bootstrapCfgPath). For single-master clusters, it is simply the IP of the master node (no VIP). For multi-master, it becomes the VIP

Proxy

Info

If using a proxy in your environment, edit the /etc/yum/yum.conf file to add the proxy configuration as well as environment variable HTTP_PROXY and HTTPS_PROXY

proxy=http://mycache.mydomain.com:3128

Firewall

Disable firewalld - or update firewall rules so that the required ports are open as specified in Network Port Configurations

System Configuration

Passwordless Sudo

Warning

Ensure that passwordless sudo is enabled on your hosts.

Many operations require sudo access (for example, the installation of yum repos, docker etc.). Please ensure your hosts have passwordless sudo enabled.

Disable Swap

Warning

It's recommended to disable swap on nodes when installing and running SMCP.

Disable Swap: Before starting the installation, you need to disable swap on your node. You can do this by running the following command with superuser privileges:

sudo swapoff -a

This command will deactivate all swap partitions.

Remove Swap Entry from /etc/fstab: Next, you should remove any references to swap partitions from the /etc/fstab file. Open the /etc/fstab file in a text editor, such as nano or vi, and delete the lines that reference swap partitions. Make sure to save the file after making these changes.

Reboot the System: To apply the changes and ensure that swap is completely disabled, reboot your node by running the following command:

sudo reboot

After the system reboots, it will no longer use swap space, and you can proceed with the node installation.

SSH Keys

SMCP relies on SSH to login to the various nodes of the management cluster, as well as, the user clusters, to install various components and manage them.

Please generate SSH keys and sync them across all nodes of the management cluster as well as all nodes that will run the user's workload clusters.

We recommend generating the keys on one node and then adding the public key to all other hosts in its ~/.ssh/authorized_keys file.

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ ssh-copy-id -i ~/.ssh/id_rsa.pub centos@test-3-1

Airctl

Airctl is the CLI based installer for SMCP, and is used to manage the management cluster and the user nodes. Airctl and its corresponding artifacts needs to be downloaded and installed on one of the nodes of the Management Cluster.

Downloading Artifacts

Platform9 publishes SMCP artifacts as secured HTTP endpoints. These endpoints can be accessed via curl or wget or any other command line utility to download the artifacts.

Info

To downloading these artifacts, contact a Platform9 Support Engineer, Solutions Architect or Sales Team member. They will provide you with the "secret" that can be added to the "_user-agent_" value and the appropriate release version

You can download all artifacts using the following download script:

wget https://raw.githubusercontent.com/platform9/support-locker/master/edge-stack/download.sh chmod +x ./download.sh

Once you’ve downloaded the script you can then run the script with the following options:

./download.sh <secret-key> <release-version>
  • secret-key: ask Platform9 Support for this key

  • release-version: The latest release version is available on the Platform9 Docs Website: https://platform9.com/docs/PEC

For online mode, we can run the following command to download only few essential artifacts to start with:

% curl --user-agent "<secret>" https://pf9-airctl.s3-accelerate.amazonaws.com/<version>/index.txt | grep -e airctl -e nodelet.tar.gz -e nodelet-deb.tar.gz -e install.sh | awk '{print "curl -sS --user-agent \"<secret>\" \"https://pf9-airctl.s3-accelerate.amazonaws.com/<version>/" $NF "\" -o <download directory>" $NF}' | bash

Once all artifacts are downloaded, install them using:

chmod +x ./install.sh ./install.sh <release-version>

This copies all artifacts under /opt/pf9/airctl.

For airgapped setups, please ensure all the nodes of management cluster and user workload cluster have the following Linux packages pre-installed depending on the operating system:

CentOS/ RHEL

container-selinux curl gzip ipset-libs iptables-services ipvsadm libcgroup-tools net-snmp-agent-libs net-snmp-libs net-tools

Rocky Linux

Info

Support for Rocky Linux was introduced with release 5.9 / LTS3/ SMCP-GA with Rocky Linux 9.2

container-selinux curl gzip ipset-libs iptables-services ipvsadm libnftnl lm_sensors-libs net-snmp-agent-libs net-snmp-libs net-tools

Ubuntu Linux

Info

Support for Ubuntu Linux was introduced with SMCP 5.10 with Ubuntu Linux 22.04 LTS (Jammy Jellyfish)

cgroup-tools curl gzip ipvsadm libcgroup1 libsnmp40 net-tools socat

In addition, we require OpenSSL version 3.0.7 to be installed on Ubuntu 22.04

Download the pre-compiled package from the following location provided by Platform9 instead of the upstream apt repository

curl --user-agent <SECRET> https://pf9-airctl.s3-accelerate.amazonaws.com/openssl-smcp-ubuntu/openssl_3.0.7-1_amd64.deb --output openssl_3.0.7-1_amd64.deb

Install it using the following commands

sudo dpkg -i openssl_3.0.7-1_amd64.deb cd /etc/ld.so.conf.d/ echo "/usr/local/ssl/lib64" > openssl-3.0.7.conf ldconfig -v sed -i 's/\(^PATH="[^"]*\)"/\1:\/usr\/local\/ssl\/bin"/' /etc/environment source /etc/environment ln -sf /usr/local/ssl/bin/openssl /usr/bin/openssl

Once downloaded, the directory contains a list of .tar or .tar.gz files, an index file, and a simple install.sh file. Visit the Artifacts page to learn more about the downloaded artifacts.