Skip to content

Kube Controller Manager 소개 ​

Kube Controller Manager란? ​

Kube Controller Manager는 Kubernetes의 다양한 컨트롤러를 관리하는 컴포넌트입니다. 컨트롤러는 시스템 내의 다양한 구성 요소의 상태를 지속적으로 모니터링하며, 시스템을 원하는 상태로 유지하기 위해 작업을 수행합니다.

컨트롤러의 예 ​

  • 노드 컨트롤러(Node Controller): 노드의 상태를 모니터링하고, 필요한 조치를 취해 애플리케이션을 실행 상태로 유지합니다.
  • 복제 컨트롤러(Replication Controller): Replica Set의 상태를 모니터링하고, 설정된 파드의 수를 유지합니다.

컨트롤러의 기능 ​

  • Kubernetes의 다양한 기능(배포, 서비스, 네임스페이스, 영구 볼륨 등)은 이러한 컨트롤러를 통해 구현됩니다.
  • 컨트롤러는 Kubernetes의 "두뇌" 역할을 하며, 클러스터의 다양한 작업을 조정합니다.

Kubernetes Controller Manager 설치 및 확인 방법 ​

  • Kube Controller Manager 설치: Kubernetes 릴리스 페이지에서 Kube Controller Manager를 다운로드하고, 서비스로 실행합니다.
  • 옵션 설정: 실행 시 다양한 옵션을 제공하여 컨트롤러를 사용자 정의할 수 있습니다. 예를 들어, 노드 모니터링 주기, 유예 기간, 추방 시간 제한 등을 옵션으로 설정할 수 있습니다.
  • 활성화된 컨트롤러 확인: controllers 옵션을 사용해 활성화할 컨트롤러를 지정할 수 있습니다. 기본적으로 모든 컨트롤러가 활성화되어 있으나, 선택적으로 활성화할 수도 있습니다.

Kube Controller Manager의 구성 옵션 확인 ​

  • Kubeadmin을 사용한 설정: Kubeadmin 도구를 사용하면 kube-system 네임스페이스에 Kube Controller Manager가 파드로 배포됩니다. etc/kubernetes/manifests 폴더에 위치한 파드 정의 파일에서 옵션을 확인할 수 있습니다.
    sh
    cat /etc/systemd/system/kube-controller-manager.service
    cat /etc/kubernetes/manifests/kube-controller-manager.yaml
  • 수동 설정: 수동 설정 시 etc/systemd/system/ 디렉토리에 위치한 Kube Controller Manager 서비스를 통해 옵션을 검사할 수 있습니다. 또한, 마스터 노드에서 프로세스를 나열하여 실행 중인 Kube Controller Manager의 옵션을 확인할 수 있습니다.
    sh
    wget https://storage.googleapis.com/kubernetes-release/release/v1.13.0/bin/linux/amd64/kube-controller-manager
    cat /etc/systemd/system/kube-controller-manager.service

TIP

Kube Controller Manager는 Kubernetes 클러스터의 핵심 관리 역할을 수행합니다. 클러스터를 효과적으로 관리하려면 이 컴포넌트의 작동 방식과 구성 옵션을 이해하는 것이 중요합니다.

K8s Reference Docs: ​