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