Kubernetes를 운영하면서 자주 발생하는 문제들과 해결 방법을 정리합니다.
Node가 삭제되지 않을 때
노드가 삭제되지 않고 계속 남아 있는 경우 다음 단계를 순서대로 시도합니다.
가급적 노드에 문제가 있을 때만 이 방식으로 조치하고, 중요한 노드의 경우 백업을 하고 진행하는 것이 좋습니다.
(저는 Karpenter 노드가 정리되지 않을 때 이 방식으로 조치를 했었습니다.)
- 먼저 노드에서 실행 중인 Pod들을 안전하게 제거합니다.
kubectl drain <node-name> --delete-emptydir-data --force --grace-period=0
옵션 설명:
--delete-emptydir-data
: emptyDir 볼륨을 사용하는 Pod도 강제로 제거--force
: DaemonSet에 의해 관리되지 않는 Pod도 강제로 제거--grace-period=0
: 대기 시간 없이 즉시 종료
- Drain이 완료되면 노드를 클러스터에서 제거합니다.
kubectl delete node <node-name>
- 위 단계로도 삭제되지 않는다면, Finalizer가 남아있을 가능성이 있습니다. Finalizer를 확인하고 제거합니다.