
해당 내용은 Udemy의 Certified Kubernetes Administrator(CKA) with Practice Tests 강의를 공부한 내용입니다.
Certified Kubernetes Administrator (CKA) with Practice Tests
<p><strong>CKA Certification Course – Certified Kubernetes Administrator</strong></p><p>Kubernetes is one of the highest trending technology in Cloud Computing as of today. Kubernetes had the fastest growth in job searches, over 173% from a year before,
www.udemy.com
Kubernetes에서 Controller는 조직의 “부서”처럼 각각 특정 역할을 담당
예시:
- Node 상태를 감시하는 Controller
- Pod 개수를 유지하는 Controller
→ 모든 Controller는 현재 상태를 계속 관찰하면서 원하는 상태(Desired State)를 유지하도록 동작
Node Controller 예시
Node Controller는 다음과 같이 동작:
- 5초마다 Node 상태 확인 (API Server 통해)
- Heartbeat 없으면 즉시 장애 처리하지 않음
타임라인:
- 40초 동안 응답 없으면 “의심 상태”
- 이후 약 5분 동안 복구 대기
- 복구 실패 시:
- 해당 Node → NotReady
- Pod → 다른 Node로 재배치
정상 상태
kubectl get nodes
worker-1 Ready
worker-2 Ready
장애 발생 시
worker-1 Ready
worker-2 NotReady
Replication Controller
또 다른 중요한 Controller:
- 원하는 Pod 개수 유지
- 부족하면 자동 생성
→ Kubernetes의 자동 복구(Self-healing) 핵심 기능
Controller의 역할
다음 모든 리소스는 Controller 기반으로 동작:
- Deployment
- Service
- Namespace
- Persistent Volume
→ Controller = Kubernetes 동작의 핵심 로직

Controller Manager의 구조
여러 Controller들은 각각 따로 실행되는 것이 아니라,
→ Kube Controller Manager 하나의 프로세스로 묶여서 실행됨
즉:
- Controller Manager 실행 = 모든 Controller 실행
설치 및 구성
다운로드
wget https://storage.googleapis.com/kubernetes-release/release/v1.13.0/bin/linux/amd64/kube-controller-manager
서비스 설정 예시
ExecStart=/usr/local/bin/kube-controller-manager \
--cluster-cidr=10.200.0.0/16 \
--cluster-name=kubernetes \
--kubeconfig=/var/lib/kubernetes/kube-controller-manager.kubeconfig \
--leader-elect=true \
--service-cluster-ip-range=10.32.0.0/24
주요 설정 옵션
- --leader-elect=true : HA 환경에서 리더 선출
- --cluster-cidr : Pod 네트워크 범위
- --service-cluster-ip-range : Service IP 범위
Controller 선택 설정
- --controllers=* : 기본적으로 모든 Controller 활성화 됨
- --controllers=*,-tokencleaner : 특정 Controller 비활성화
- 의미 :
- * : 전체 활성화
- tokencleaner : 해당 Controller 비활성화
실행 확인 방법
1. 프로세스 확인
ps -aux | grep kube-controller-manager
2. kubeadm 환경
kube-system namespace에서 Pod로 실행
kubectl get pods-n kube-system
3. 매니페스트 확인
/etc/kubernetes/manifests

핵심 개념 정리
- Controller = 상태 감시 + 자동 조정
- Controller Manager = 모든 Controller 실행 주체
- Desired State 유지하는 핵심 컴포넌트
'Kubernetes' 카테고리의 다른 글
| [Kubernetes] Kube Scheduler (0) | 2026.06.14 |
|---|---|
| [Kubernetes] Kube-API Server (0) | 2026.06.01 |
| [Kubernetes] ETCD in Kubernetes (0) | 2026.05.25 |
| [Kubernetes] ETCD For Beginners (0) | 2026.05.18 |
| [Kubernetes] Docker vs ContainerD (0) | 2026.05.09 |