diff options
author | Todd Malsbary <todd.malsbary@intel.com> | 2021-09-09 11:24:45 -0700 |
---|---|---|
committer | Todd Malsbary <todd.malsbary@intel.com> | 2021-09-15 09:40:39 -0700 |
commit | 6027abb96369a30e6ccd3f747f4029e36232c0af (patch) | |
tree | f9c5ed58c4737e5728b67280debbba4b2eb034dd /kud/hosting_providers/containerized/addons/README.md.tmpl | |
parent | 5aa8c4de9fd620ef42ac5bf73b62f76d80e713a0 (diff) |
Fix KubeVirt and SR-IOV addon interaction
SR-IOV wants to drain the nodes during reconciliation of SriovNetwork
resources, while KubeVirt wants to keep at least one instance running
at all times via a PodDisruptionBudget.
KubeVirt's behavior is not customizable, so split the addons into
different composite apps that allow finer control of the instantiation
order.
Issue-ID: MULTICLOUD-1324
Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>
Change-Id: I15c5cec3ef524b0b1d60dc201e04157272cbe376
Diffstat (limited to 'kud/hosting_providers/containerized/addons/README.md.tmpl')
-rw-r--r-- | kud/hosting_providers/containerized/addons/README.md.tmpl | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/kud/hosting_providers/containerized/addons/README.md.tmpl b/kud/hosting_providers/containerized/addons/README.md.tmpl index 4ed4610a..eed30b43 100644 --- a/kud/hosting_providers/containerized/addons/README.md.tmpl +++ b/kud/hosting_providers/containerized/addons/README.md.tmpl @@ -22,28 +22,40 @@ cloud. \`$ /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 +3. Create addons project -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. +This creates the project with the addons listed `CompositeApps` value. \`$ /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\` + +4. Instantiate the addons + +This instantiates each composite app listed in the `CompositeApps` +value. + +NOTE: The ordering is important when both the sriov-network and +kubevirt addons are enabled. The sriov-network addon will trigger a +drain of the nodes and kubevirt will prevent the drain from +completing, so kubevirt must be instantiated after sriov-network has +completed the drain. + + \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply projects/kud/composite-apps/addons/v1/deployment-intent-groups/deployment/instantiate\` + \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply projects/kud/composite-apps/networks/v1/deployment-intent-groups/deployment/instantiate\` + \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply projects/kud/composite-apps/kubevirt/v1/deployment-intent-groups/deployment/instantiate\` # Uninstalling KUD addons with emcoctl -1. Delete addons +1. Terminate the addons + + \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply projects/kud/composite-apps/kubevirt/v1/deployment-intent-groups/deployment/terminate\` + \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply projects/kud/composite-apps/networks/v1/deployment-intent-groups/deployment/terminate\` + \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply projects/kud/composite-apps/addons/v1/deployment-intent-groups/deployment/terminate\` + +2. 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 +3. 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\` |