Run Multi-Tenancy Setup Script#

Note

Multi-tenant clusters are only available if you have paid for multi-tenant support. Contact Penguin Computing to learn more.

After completing all prerequisites, installing the multi-tenancy package, and setting up the Sonic Ethernet switches, run the setup-for-mt script with the --overwrite option as an ICE ClusterWare ™ administrator to configure the ClusterWare software with multi-tenancy features.

The script is available from /opt/scyld/clusterware-multitenancy/bin/setup-for-mt after installing the multi-tenancy package. The script continues multi-tenancy configuration and creates the following ClusterWare objects based on your input:

  • MTLeafSwitches and MTSpineSwitches attribute groups: used to classify Sonic Ethernet switches.

  • MTShapes state map: used to select compute nodes for tenancies.

  • cw-kubevirt KubeVirt provider: used to contain tenancies.

  • mt-gw-boot boot configuration: used to boot the tenancy gateway node.

  • cw-oemdrv-head and cw-boot-iso repos: used to create the tenancy head node.

  • cw-management tenant: used to own the Quarantine and Available tenancies.

  • Quarantine tenancy: used to complete health checks on compute nodes.

  • Available tenancy: used to hold healthy compute nodes before they are added to a tenancy.

Important

These objects should not be modified or removed from the ClusterWare software after they are created.

Required Arguments#

--frr

Path to the directory where the FRR and EVPN configuration files are stored.

--headiso

Path to the base OS ISO for tenancy head nodes.

--oemdrv

Path to the oemdrv ISO for tenancy head nodes.

--kubeconfig

Path to a KubeConfig file that has administrator-level access to the Harvester environment.

--overwrite

Ensures the script runs properly if some multi-tenancy components already exist.

Optional Arguments#

--mtconfig

Path to a multi-tenancy configuration JSON file. If unset, defaults to /opt/scyld/clusterware-multitenancy/examples/mtconfig.json. See Multi-Tenancy Configuration Files for details.

--mtshapes

Path to a multi-tenancy shapes configuration JSON file. If unset, defaults to /opt/scyld/clusterware-multitenancy/examples/node-mtshapes.json. See Multi-Tenancy Configuration Files for details.

--upload-ip

Alternate interface IP address that the KubeVirt cluster should access for the ISOs. If unset, defaults to the first IP address on the first interface.

Examples#

Run the script with only required arguments:

setup-for-mt --kubeconfig ./setup/kubeconfig --oemdrv ./setup/OEMDRV.iso \
--headiso ./setup/Rocky-9.5-x86_64-dvd.iso --frr ./setup/example.cfg.d \
--overwrite

Run the script with a custom multi-tenancy configuration file and alternate IP interface address:

setup-for-mt --kubeconfig ./setup/kubeconfig --oemdrv ./setup OEMDRV.iso \
--headiso ./setup/Rocky-9.5-x86_64-dvd.iso --frr ./setup/example.cfg.d \
--mtconfig ./setup/mtconfig.json --upload-ip 192.168.122.103 --overwrite