심플코더
간단한 코딩 공간
   

글쓰기    관리    수식입력
  • 분류 전체보기 (84)
    • AWS (1)
    • JavaScript (11)
    • 개인학습 (5)
    • DB (11)
    • OS (9)
    • Network (7)
    • DevOps (0)
    • TypeScript (1)
    • 개발 (1)
    • CKA (28)
hELLO · Designed By 정상우.
심플코더

간단한 코딩 공간

CKA

(TIL) Kube Controller Manager in Kubernetes

Kube Controller Manager

Kube Controller Manager는 여러 컨트롤러를 관리하는 중앙 프로세스이다.

클러스터 내부의 다양한 리소스를 모니터링하고 정상적인 상태를 유지하도록 자동으로 조정하는 역할을 한다.

Kubernetes에서 컨트롤러의 역할

Kubernetes에서 컨트롤러는 클러스터의 상태를 지속적으로 모니터링하며 desired state와 actual state가 일치하도록 조정하는 역할을 한다.

Node Controller의 동작 방식은 다음과 같다.

1. 노드의 상태를 5초마다 체크한다.
2. 40초동안 응답이 없으면 Unreachable 상태로 표시한다
3. 추가로 5분이 지나도 응답이 없으면 해당 노드에서 실행중인 Pod를 제거한다.
4. ReplicaSet이 있는 경우, 다른 정상적인 노드에 Pod를 다시 생성한다.

Replication Controller

ReplicaSet을 감시하며 항상 지정된 개수의 Pod이 유지되도록 관리한다.

Replication Controller의 동작 과정은 다음과 같다.

1. 사용자가 특정 Pod를 3개로 유지해달라고 설정한다.
2. 컨트롤러는 Pod 개수를 지속적으로 확인한다.
3. 만약 Pod 중 하나가 삭제되면, 자동으로 새로운 Pod를 생성하여 3개를 유지한다.

이 외에도 다음과 같이 다양한 컨트롤러들이 존재한다.

컨트롤러 역할
Deployment Controller Deployment 리소스를 관리한다
Service Controller Kubernetes service를 관리한다
Namespace Controller 네임스페이스를 관리한다

Kube Controller Manager의 동작 방식

  • Kube Controller Manager가 모든 컨트롤러를 하나의 프로세스로 실행한다.
  • 다양한 설저 옵션을 지원한다.

Kube Controller Manager의 설정 옵션

옵션 설명
-node-monitor-period 노드의 상태를 확인하는 주기(기본값은 5초)
-node-grade-period 노드를 Unreachable로 표기하기 전 대기 시간(기본값은 40초)
-prod-eviction-timeout Unreachable 노드에서 Pod를 제거하기 전의 대기시간(기본값은 5분)
-controller 실행할 컨트롤러의 목록을 지정한다(기본값: 모든 컨트롤러 활성화)

Kube Controller Manager 설정 파일 확인 방법

kubeadm을 사용한 경우

  • kube-controller-manager는 Pod의 형태로 자동배포된다.
  • 설정 파일의 경우 /etc/kubernetes/manifests/kube-controller-manager.yaml에 저장된다.

수동으로 kubernetes를 구축한 경우

  • kube-controller-manager는 시스템 서비스로 실행된다.
  • 실행 파일은 /etc/systemd/system/kube-controller-manager.service에 위치한다.

실행 옵션 확인은 아래와 같이 할 수 있다.

ps aux | grep kube-controller-manager

'CKA' 카테고리의 다른 글

(TIL) Kube-Proxy  (0) 2025.03.09
(TIL) Kube-Scheduler  (0) 2025.03.09
(TIL) Kube-API Server  (0) 2025.03.09
(TIL) Kubernetes의 ETCD  (0) 2025.03.03
(TIL) ctr, cri, nerd-control  (0) 2025.03.03
    'CKA' 카테고리의 다른 글
    • (TIL) Kube-Proxy
    • (TIL) Kube-Scheduler
    • (TIL) Kube-API Server
    • (TIL) Kubernetes의 ETCD
    심플코더
    심플코더

    티스토리툴바