Node 관리, Node 정보보기

장동민·2022년 7월 29일
0

CKA 자격증 준비

목록 보기
6/13

1. Node 스케줄링 중단 및 허용

  • 컨테이너를 포함한 Pod는 node에서 실행됨
  • node는 Control-plane에 의해 관리
  • 특정 node의 스케줄링 중단(cordon) 및 허용(uncordon)
# node의 스케줄링 중단
$ kubectl cordon <NODE_NAME>

# node의 스케줄링 허용
$ kubectl uncordon <NODE_NAME>

2. Node 비우기

  • 특정 node에서 실행중인 pod 비우기(drain) 및 제거(delete)
kubectl drain <NODE_NAME> --ignore-daemonsets --force

✍ --ignore-daemonsets : daemonset-managed pod들은 ignore
✍ --force=false : RC, RS, Job, DaemonSet 또는 StatefulSet에서 관리하지 않는 Pod까지 제거


※ 문제1: 노드 비우기

  • 작업 클러스터 : k8s
  • k8s-worker2 노드를 스케줄링 불가능하게 설정하고, 해당 노드에서 실행 중인 모든 Pod을 다른 node로 reschedule 하세요.
  1. 작업 클러스터 위치 확인

  1. k8s-worker2 노드에서 실행중인 pod들을 drain

3-1. 다른 node로 reschedule된 것을 확인

3-2. k8s-worker2 노드 상태가 SchedulingDisabled된 것을 확인


3. Node Taint & Toleration

  • worker node에 taint가 설정된 경우 동일 값의 toleration이 있는 Pod만 배치됨
  • toleration이 있는 Pod는 동일한 taint가 있는 node를 포함하여 모든 node에 배치됨
  • effect 필드 종류
    • NoSchedule : toleration이 맞지 않으면 배치 되지 않음
    • PreferNoSchedule : toleration이 맞지 않으면 배치되지 않으나, 클러스터 리소스가 부족하면 할당됨
    • NoExecute : toleration이 맞으면 동작중인 pod를 종료

※ 문제2 : Ready 노드 확인하기

  • 작업 클러스터 : hk8s
  • Ready 상태(NoSchedule로 Taint된 node는 제외)인 node를 찾아 그 수를 /var/CKA2022/notaint_ready_node에 기록하세요.
  1. 작업 클러스터 확인

  1. Ready 상태인 node를 확인

  1. NoSchedule로 Taint된 node를 찾아 확인

  1. NoSchedule로 Taint된 node를 제외한 node는 1개이므로 1을 /var/CKA2022/notaint_ready_node에 기록한 후 확인

profile
나만의 데이터베이스

0개의 댓글