반응형
# Drain
Drain 이란?
kubectl drain은 노드에 존재하는 모든 Pod을 제거하고, Pod들을 다른 노드에 새롭게 스케쥴링하는 명령어이다.
그리고 kubectl drain이 적용된 노드는 SchedulingDisabled 상태가 되며, 이후 새롭게 생성되는 어떤 Pod도 해당 노드에는 생성되지 않는다.
명령어
kubectl drain minikube --force --ignore-daemonsets # 모든 Pod이 종료되므로 주의
- 여기서 주의할 점은 StaticPods는 재배치 되어 생성되지 않는다.
- kubectl drain 명령어는 새로운 Pod을 배포할 수 있는 추가적인 노드가 있는 경우에 가능하다. 그래서 1개의 노드로 운영되는 minikube 환경에서는 테스트가 현실적으로 어렵다.
- Daemonset은 모든 node에 하나씩만 존재하는 Pod이므로, 다른 Pod에 추가적으로 scheduling 되지 않는다. drain 과정에서 Daemonset을 무시하려면 --ignore-daemonsets 옵션을 추가하면 된다.
- 끝 -
반응형
'⭐ Kubernetes & EKS > Cordon & Uncordon & Drain' 카테고리의 다른 글
Cordon & Uncordon (0) | 2023.04.21 |
---|