쿠버네티스 - 노드

우야·2021년 6월 1일
0
  1. 노드 컨트롤러
    • 첫째는 등록 시점에 (CIDR 할당이 사용토록 설정된 경우) 노드에 CIDR 블럭을 할당
    • 노드 컨트롤러의 내부 노드 리스트를 클라우드 제공사업자의 사용 가능한 머신 리스트 정보를 근거로 최신상태로 유지
      • 클라우드 환경에서 동작 중일 경우, VM 노드상태가 여전히 사용 가능한지에 대해 클라우드 제공사업자에게 물어보고, 사용 가능하지 않을 경우, 노드 컨트롤러는 노드 리스트로부터 그 노드를 삭제
    • 노드의 동작 상태를 모니터링 하는 것
      • 노드 컨트롤러가 하트비트 수신이 중단되는 경우 NodeStatus의 NodeReady 컨디션을 ConditionUnknown으로 업데이트
      • 노드가 계속 접근 불가할 경우 나중에 노드로부터 정상적인 종료를 이용해서 모든 파드를 축출
  2. 노드를 수동으로 관리 할수 있다.
    • 노드 오브젝트를 수동으로 생성하려면
      • kubelet 플래그를 --register-node=false 로 설정
    • 기존 노드에 레이블을 설정하거나, 스케줄 불가로 표시할 수 있다.
    • Node레이블을 설정
      • pod를 원하는 node에만 스케줄링 할수 있음, gpu node에 pod 생성 등
    • 노드 스케줄 불가로 설정 할수 있음
      • kubectl cordon $NODENAME
      • 해당 노드에 새 파드를 배치할 수 없음
      • 기존 파드에는 영향을 미치지 않음
      • 재부팅, 유지보수 준비 단계에 유용하게 사용
profile
Fullstack developer

0개의 댓글