Run Multi-Tenancy Setup Script#
Note
Multi-tenant clusters are only available if you have paid for multi-tenant support. Contact Penguin Solutions 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 a ClusterWareAI ™
administrator to configure the ClusterWareAI 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 ClusterWareAI 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 ClusterWareAI software after they are created.
Required Arguments#
- --frr
Path to the directory where the FRR and EVPN configuration files are stored.
- --oemdrv
URL 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#
- --headiso
URL to the base OS ISO for tenancy head nodes. If unset, defaults to
https://dl.rockylinux.org/vault/rocky/9.5/isos/x86_64/Rocky-9-latest-x86_64-dvd.iso.- --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.
Examples#
Run the script with only required arguments:
setup-for-mt \
--kubeconfig ./setup/kubeconfig \
--oemdrv http://172.18.247.106/api/v1/repo/PenguinUsbImage/iso \
--frr ./setup/example.cfg.d \
--overwrite
Run the script with a custom multi-tenancy configuration file and Rocky 9.4 base OS ISO for the tenancy head nodes:
setup-for-mt \
--kubeconfig ./setup/kubeconfig \
--oemdrv http://172.18.247.106/api/v1/repo/PenguinUsbImage/iso \
--frr ./setup/example.cfg.d \
--headiso https://dl.rockylinux.org/vault/rocky/9.4/isos/x86_64/Rocky-9-latest-x86_64-dvd.iso
--mtconfig ./setup/mtconfig.json \
--overwrite