41 lines
938 B
Markdown
41 lines
938 B
Markdown
# ch18 lab
|
|
|
|
## Setup
|
|
|
|
Connect to the control plane node:
|
|
|
|
```
|
|
vagrant ssh kiamol-control
|
|
```
|
|
|
|
## Sample Solution
|
|
|
|
You take a node out of service by draining it, which reschedules the Pods - you need the DaemonSet flag so the system components are ignored:
|
|
|
|
```
|
|
kubectl drain kiamol-node --ignore-daemonsets
|
|
```
|
|
|
|
There is also the `kubectl cordon` command which marks the node so it won't have any new Pods scheduled, but that doesn't remove the existing Pods.
|
|
|
|
When you're done working on the node you can bring it back into service by uncordoning it:
|
|
|
|
```
|
|
kubectl uncordon kiamol-node
|
|
```
|
|
|
|
That marks the node as available for work, but Kubernetes doesn't automatically reschedule existing workloads so the node won't start any application Pods.
|
|
|
|
You can rebalance the API Pods by restarting the rollout:
|
|
|
|
```
|
|
kubectl rollout restart deploy apod-api
|
|
```
|
|
|
|
## Teardown
|
|
|
|
You can delete all of the Vagrant VMs with:
|
|
|
|
```
|
|
vagrant destroy
|
|
``` |