- 유지 보수 목적으로 소프트웨어 기반 업그레이드나 패치 적용, 보안 패치 등을 클러스터에 적용
- 클러스터에서 노드 중 하나가 다운되면?
- 포드는 접근 불가능
- 포드를 어떻게 배치하느냐에 따라 유저가 영향 받음
- 포드의 replica가 다운된 노드에만 배치되어 있으면 그 포드는 아예 접근 불가
- 노드가 5분(디폴트 값) 이상 다운되면 그 노드의 포드들은 종료되고, 다른 노드에서 다시 생겨남.
- 이후에 노드가 다시 활성화되어도 노드는 비어있다.
- 다운된 노드가 언제 돌아올지 모르니까 더 안전한 방법은 drain 이후 노드 재부팅.
- kubectl drain <node name>
- 해당 노드에서 포드는 정상적으로 종료되고, 다른 노드에 재스케줄링 명령.
- kubectl cordon <node name>
- 현재 노드에 배포된 Pod는 그대로 유지하면서, 추가적인 Pod의 배포를 제한하는 명령어이다.
- kubectl uncordon <node name>
- drain이나 cordon된 노드는 SchedulingDisabled 상태가 되어 더 이상 Pod가 스케줄링되지 않는다. 이러한 노드의 SchedulingDisabled 상태를 제거하여 다시 Pod가 스케줄링될 수 있도록 복구하는 명령어이다.
- uncordon을 해야 재스케줄링이 된다.
- kubectl drain <node name>
728x90
'클라우드' 카테고리의 다른 글
Monitor Kubernetes Cluster (0) | 2024.12.17 |
---|---|
Node Selector, Node Affinity (0) | 2024.12.16 |
Taints and Tolerations (0) | 2024.12.16 |
Maual Scheduling (0) | 2024.12.16 |
Secret, ConfigMap (0) | 2024.12.07 |