본문 바로가기

Infra/Kubernetes

[cka] Kubernetes - kube API

1. kube API 란?

- 클러스터에서 변경을 수행해야 되는 작업들을 담당

- 모든 요청의 출발점

- kubernetes의 소통 역할

- 요청을 인증하고 검증하며, 데이터를 검색하고, 업데이트하는 일을 담당

https://kubernetes.io/ko/docs/concepts/architecture/

2. kube API 에서 들어온 요청 수행 단계

1) 사용자 인증: Authentic

- 너 누가야? 실제로 등록된 사용자야?

2) 요청 유효성 체크: Authorize

- 너가 그 행동해도 돼?

- 해당 사용자가 그 행동을 할 권한이 있는지 확인

3) etcd 에서 데이터 가져오기

- etcd에서 데이터 가져와서 인증과 인가에 사용됨

4) etcd에 정보 업데이트

- 인증과 인가가 완료되면,

- 노드할당되지 않은 pod를 생성 (우선 pod만 생성해서 etcd에 정보 업데이트)

5) scheduler

- 어디에 배치할까?

- 지속적인 모니터링을 통해 업데이트된 etcd를 감지

- 노드가 할당되지 않은 pod 존재를 알게됨.

- 가장 적절한 워커노드의 kubelet에 전달

6) kubelet

- 너한테 할당했어, 너 컨테이너에 pod 생성해

- scheduler가 할당해준 적절한 컨테이너의 kubelet이

- kube api의 명령을 받아 pod를 생성하게 됨 (container runtime engine에게 배포하도록 지시, 응용 프로그램이 이미지를 배포)

- pod 생성이 완료되면 kubelet은 kube API 서버를 다시 업데이트하고, kubectl은 etcd를 업데이트함 

 

3. kube API 인증설정 확인하는 방법

2.1 kube admin 으로 했으면,

cat /etc/kubernetes/manifest/kube-apiserver.yaml

 

2.2 다른 방법으로 했으면,

cat /etc/systemd/system/kube-apiserver.service

 

 

'Infra > Kubernetes' 카테고리의 다른 글

[cka] Kubernetes - Replicaset  (0) 2025.10.05
[cka] Kubernetes - pod 명령어 정리  (0) 2025.10.05
[cka] Kubernetes - Pods  (0) 2025.10.04
[cka] Kubernetes - kube proxy  (0) 2025.10.04
[cka] Kubernetes - kube scheduler  (0) 2025.10.04