노드별 instance type, NodePool, NodeGroup 조회
kubectl get nodes -L node.kubernetes.io/instance-type,eks.amazonaws.com/nodegroup,karpenter.sh/nodepool
특정 노드의 pod 조회
kubectl get pod -A -o wide --field-selector spec.nodeName=<node-name>
cordon
- 해당 Node를
Unschedulable로 만들어 스케줄링되지 않도록
- 이미 스케줄링되어 동작중인 Pod는 그대로 유지
kubectl cordon <node-name>
kubectl uncordon <node-name>
drain
- Node를 cordon한 뒤, 그 노드의 Pod들을
evict 시켜 다른 Node로 재스케줄되도록 유도
--ignore-daemonsets : DaemonSet Pod는 대상에서 제외
--delete-emptydir-data : emptyDir(임시 볼륨) 데이터가 있는 Pod도 제거
kubectl drain <node-name> --ignore-daemonsets --delete-emptydir-data