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