- cordon ノードに SchedulingDisabled を付けて、新しいPodがそのノードにスケジュールされないようにする。
- drain drain ノード上の既存Podを安全に退避。内部的にはまず cordon してから、Podを1つずつ evict(退去)していく。
ノードが複数あるならforでぐるぐるしながらcordon/drainするのもあり
GKEの例
for node in $(kubectl get nodes -l cloud.google.com/gke-nodepool=EXISTING_NODE_POOL_NAME -o=name); do kubectl cordon "$node"; done
for node in $(kubectl get nodes -l cloud.google.com/gke-nodepool=EXISTING_NODE_POOL_NAME -o=name); do kubectl drain --force --ignore-daemonsets --delete-emptydir-data --grace-period=GRACEFUL_TERMINATION_SECONDS "$node"; done