# Installing KUD addons with emcoctl 1. Customize values.yaml as needed To create a customized profile for a specific addon, edit the profile as needed, and then (for example, cpu-manager): ``` tar -czf /opt/kud/multi-cluster/addons/cpu-manager.tar.gz -C /opt/kud/multi-cluster/addons/cpu-manager/helm . tar -czf /opt/kud/multi-cluster/addons/cpu-manager_profile.tar.gz -C /opt/kud/multi-cluster/addons/cpu-manager/profile . ``` 2. Create prerequisites to deploy addons Apply prerequisites. This step is optional. If there are existing resources in the cluster, it is sufficient to customize values.yaml with the values of those resources. The supplied YAML files creates the controllers, one or more clusters, one project, and one logical cloud. \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply -f 00-controllers.yaml -v values.yaml\` \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply -f 01-cluster.yaml -v values.yaml\` \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply -f 02-project.yaml -v values.yaml\` 3. Deploy addons This deploys the addons listed in the \`Addons\` and \`AddonResources\` values in values.yaml. NOTE: On a single node cluster, the SRIOV addon resource will trigger a drain of the worker node. KubeVirt will prevent the drain from completing due to its PodDisruptionBudget. The workaround is to scale down the KubeVirt operator before applying 04-addon-resources-app.yaml then scaling it back up after the node is ready again. \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply -f 03-addons-app.yaml -v values.yaml\` \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply -f 04-addon-resources-app.yaml -v values.yaml\` # Uninstalling KUD addons with emcoctl 1. Delete addons \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh delete -f 04-addon-resources-app.yaml -v values.yaml\` \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh delete -f 03-addons-app.yaml -v values.yaml\` 2. Cleanup prerequisites \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh delete -f 02-project.yaml -v values.yaml\` \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh delete -f 01-cluster.yaml -v values.yaml\` \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh delete -f 00-controllers.yaml -v values.yaml\` #### NOTE: Known issue: deletion of the resources fails sometimes as some resources can't be deleted before others are deleted. This can happen due to timing issue. In that case try deleting again and the deletion should succeed.