쿠버네티스 커든(Cordon) 및 드레인(Drain) 개념과 설정

ZER0·2022년 10월 20일
0

Kubernetes

목록 보기
21/39
post-thumbnail

1. 개념

  • 커든
    • 특정 노드를 스케줄러에서 제외시켜 파드가 할당되지 않도록 함
    • 기존에 노드에 배포된 파드는 그대로 남아있음
  • 드레인
    • 특정 노드를 스케줄러에서 제외시켜 파드가 할당되지 않도록 하고, 기존에 배포된 파드를 다른 노드로 이동시킴
    • 노드를 업데이트하는 경우 활용 가능

2. 커든 설정

2.1. 명령어

  • 커든 적용
	kubectl cordon [노드_이름]
  • 커든 해제
	kubectl uncordon  [노드_이름]

2.2. 커든 적용

  • w3-k8s 노드에 커든 적용 후 디플로이먼트 배포
  • w3-k8s 노드를 제외한 다른 노드에만 배포된 것을 확인
  • 커든을 해제하고 다른 노드의 파드를 삭제하면 w3-k8s 노드에 재배포된 것을 확인

3. 드레인 설정

3.1. 명령어

  • 드레인 적용
	kubectl drain [노드_이름]
	or
	kubectl drain [노드_이름] --ignore-daemonsets --force
  • 드레인 해제
	kubectl uncordon [노드_이름]

3.2. 드레인 적용

  • w1-k8s 노드에 드레인 적용 시 기존에 배포된 파드가 추출된 것을 확인
  • w1-k8s 노드에 드레인을 적용하고 디플로이먼트 배포 시 다른 노드에만 파드가 배포되는 것을 확인
  • 드레인을 해제하고 다른 노드의 파드를 삭제하면 w1-k8s 노드에 재배포된 것을 확인

참고

  1. https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/
profile
Security Compliance Engineer

0개의 댓글