728x90
반응형

해당 내용은 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
Kube API Server는 Kubernetes 클러스터의 중앙 제어 컴포넌트로, 모든 요청을 처리하고 각 구성 요소 간의 상호작용을 조율
Kube API Server의 역할
kubectl get nodes
요청 흐름 :
- kubectl → API Server로 요청 전송
- API Server :
- 사용자 인증 (Authentication)
- 요청 검증 (Validation)
- etcd에서 데이터 조회
- 결과 반환
예시 출력 :
NAME STATUS ROLES AGE VERSION
master Ready master 20m v1.11.3
node01 Ready <none> 20m v1.11.3
API Server 요청 처리 흐름 (Pod 생성 예시)
API로 Pod 생성 요청을 보내면 :
curl-X POST /api/v1/namespaces/default/pods
동작 과정 :
- 요청 인증 및 검증
- Pod 객체 생성 (아직 Node 미할당 상태)
- etcd에 저장
- 요청자에게 생성 완료 응답
이후 내부 동작 흐름
1. Scheduler
- Node 미할당 Pod 감지
- 적절한 Node 선택
2. API Server
- etcd 업데이트 (Node 할당 정보)
3. Kubelet
- Pod 생성 (컨테이너 런타임 사용)
- 상태를 API Server로 전달
→ 모든 과정의 중심에는 API Server 가 있음
핵심 역할 정리
- 모든 요청의 입구 (Entry Point)
- 인증 / 인가 처리
- 요청 검증
- etcd와 데이터 동기화
- Scheduler, Kubelet과 통신

배포 및 설치
kubeadm 사용시
- API Server는 자동으로 구성됨
- kube-system namespace에 Pod로 실행
확인 :
kubectlget pods-n kube-system
수동 설치 시
직접:
- 바이너리 다운로드
- 설정
- 서비스 등록
예시:
wget https://storage.googleapis.com/kubernetes-release/release/v1.13.0/bin/linux/amd64/kube-apiserver
주요 설정 옵션
ExecStart=/usr/local/bin/kube-apiserver \
--advertise-address=${INTERNAL_IP} \
--authorization-mode=Node,RBAC \
--etcd-servers=https://127.0.0.1:2379 \
--client-ca-file=/var/lib/kubernetes/ca.pem \
--kubelet-client-certificate=/var/lib/kubernetes/kubernetes.pem \
주요 포인트 :
- etcd 연결 설정 (--etcd-servers)
- 인증서 설정 (TLS)
- RBAC 권한 관리
설정 확인 방법
1. Pod 내부 확인
kubectl get pods -n kube-system
spec:
containers:
- command:
- kube-apiserver
- --authorization-mode=Node,RBAC
- --advertise-address=172.17.0.32
2. systemd 서비스 확인
cat /etc/systemd/system/kube-apiserver.service
구성 요소 관계 정리
| Component | Role | Command/Action Example |
| kubectl | API 요청을 보내는 CLI 도구 | kubectl get nodes |
| Kube API Server | 요청 처리, 인증 및 유효성 검사를 위한 구성 요소 | API 요청을 처리하고 etcd와 상호작용 |
| Scheduler | API 서버를 모티러이하여 할당되지 않은 Pod를 찾고 워커 노드에 할당 | 새로 생성된 Pod에 노드를 자동으로 할당 |
| Kubelet | 워커 노드에서 실행되어 Pod 수명 주기를 관리하고 상태를 API 서버로 전달 | 컨테이너 런타임과 상호작용하여 이미지 배포 |
| etcd | 클러스터 구성을 저장하는데 사용되는 키-값 저장소 | 클러스터 상태 데이터 저장 |
핵심 정리
- API Server = Kubernetes의 “중앙 관제 시스템”
- 모든 요청은 API Server를 거침
- etcd와 직접 통신
- 클러스터 모든 컴포넌트와 연결됨
728x90
반응형
'Kubernetes' 카테고리의 다른 글
| [Kubernetes] Kube Scheduler (0) | 2026.06.14 |
|---|---|
| [Kubernetes] Kube Controller Manager (0) | 2026.06.08 |
| [Kubernetes] ETCD in Kubernetes (0) | 2026.05.25 |
| [Kubernetes] ETCD For Beginners (0) | 2026.05.18 |
| [Kubernetes] Docker vs ContainerD (0) | 2026.05.09 |