3.2.11 노드 유지보수하기

estar987·2023년 9월 5일

Kubernetes

목록 보기
22/64
post-thumbnail

drain 기능 사용법

  1. kubectl drain w3-k8s
  • 위의 에러 메세지로 drain이 어떻게 작동하는지 알 수 있습니다.
    drain은 실제로 파드를 옮기는 것이 아니라 노드에서 파드를 삭제하고 다른 곳에서 다시 생성합니다.
    파드는 언제라도 삭제할 수 있기 때문에 쿠버네티스에서 대부분 이동은 파드를 지우고 다시 만드는 과정을 의미합니다. 그런데 Daemonset은 각 노드에 1개만 존재하는 파드라서 drain으로는 삭제할 수 없습니다.
  1. --ignore-daemonsets 옵션을 함께 사용합니다. DaemonSet을 무시하고 진행합니다.
    경고가 발생하지만 모든 파드가 이동됩니다.
  1. w3-k8s에 파드가 없는지 확인합니다. 그리고 옮긴 노드에 파드가 새로 생성돼 파드 이름과 IP가 부여된 것도 확인합니다.

  2. kubectl get nodes를 실행해 drain 명령이 수행된 w3-k8s 노드의 상태를 확인합니다.
    cordon을 실행했을 때 처럼 w3-k8s는 SchedulingDisabled 상태 입니다.

  3. 유지 보수가 끝났다고 가정하고 w3-k8s에 uncordon 명령을 실행해 스케줄을 받을 수 있는 상태로 복귀시킵니다.

  4. 노드 상태를 확인합니다.

  5. 다음 진행을 위한 배포한 echo-hname을 삭제합니다.

  6. kubectl get pods로 배포된 파드가 없음을 확인합니다.
    업로드중..

profile
System / Cloud / DevOps Engineer

0개의 댓글