반응형
Kubernetes에서 특정 노드를 중단하는 방법에는 여러 가지가 있습니다. 주로 사용하는 방법은 kubectl 명령어를 통해 노드를 "Drain"하고, 그 후에 노드를 종료하는 방법입니다. 아래는 그 절차입니다:
1. 노드 드레인 (Drain)하기
드레인 명령어는 해당 노드에서 실행 중인 모든 파드들을 다른 노드로 이동시킵니다. 이 과정에서 파드의 재배치가 필요하며, kubectl drain 명령어를 사용하여 노드를 중단 상태로 만들 수 있습니다.
kubectl drain <노드-이름> --ignore-daemonsets --delete-local-data
- --ignore-daemonsets 플래그는 DaemonSet에 의해 관리되는 파드들을 제외하고 드레인하도록 합니다.
- --delete-local-data 플래그는 로컬 데이터를 가진 파드를 삭제하도록 합니다. 로컬 데이터를 삭제하지 않으려면 이 플래그를 생략할 수 있습니다.
2. 노드 상태 확인
노드가 성공적으로 드레인 되었는지 확인하려면, kubectl get nodes 명령어를 사용하여 노드의 상태를 확인할 수 있습니다. 드레인된 노드는 SchedulingDisabled 상태로 나타납니다.
kubectl get nodes
3. 노드 종료
노드를 물리적으로 중단하거나 종료하려면, 클라우드 제공업체의 대시보드나 직접 해당 서버에 접근하여 노드를 종료합니다. 예를 들어, AWS에서는 EC2 인스턴스를 중지하거나 종료할 수 있습니다.
4. (선택 사항) 노드 상태에서 제거
종료 후, 노드를 클러스터에서 제거하려면 다음 명령어를 사용할 수 있습니다:
kubectl delete node <노드-이름>
이 명령어는 Kubernetes 클러스터에서 노드의 정보를 삭제합니다. 이 작업은 노드가 완전히 제거된 후에 수행하는 것이 좋습니다.
이러한 절차를 통해 Kubernetes 클러스터에서 특정 노드를 안전하게 중단할 수 있습니다.
반응형
'Container > Kubernetes(K8S)' 카테고리의 다른 글
Node와 Pod (0) | 2024.08.30 |
---|---|
CKA/CKAD (0) | 2024.05.28 |
쿠버네티스란? (0) | 2023.12.09 |