-
For the long-running workloads governed by a Kubernetes deployment, use the following command to move the pods off of the cordoned node:
The name of the deployment is the same as the first part of the name of the pod in the previous section.
-
To see a list of all deployments in the compute namespace, run:
Whether the associated app or model experiences any downtime depends on the update strategy of the deployment. For the previously described example workloads in a test deployment, one App and one Domino endpoint, you have the following describe output (filtered for brevity):This App would experience some downtime, since the old pod will be terminated immediately (
1 max unavailablewith only 1 pod currently running). The model will not experience any downtime since the termination of the old pod will be forced to wait until a new pod is available (0 max unavailable). You can edit the deployments to change these settings and avoid downtime.
Manage older versions of Kubernetes
Earlier versions of kubernetes do not have thekubectl rollout restart command, but you can achieve a similar effect by patching the deployment with a throwaway annotation like this:
Sample commands to retire several nodes
If you have to retire several nodes, you might want to loop over many nodes and/or workload pods in a single command. To do this, you can customize the output format ofkubectl commands, filter them, and combine them with xargs.
When constructing commands for larger maintenance, always run the first part of the command by itself to verify that the list of names being passed to xargs and to the final kubectl command are what you expect.
Cordon all nodes in the default node pool