심플코더
간단한 코딩 공간
   

글쓰기    관리    수식입력
  • 분류 전체보기 (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-API Server

kube-apiserver란

kube-apiserver는 Kubernetes의 중앙 관리 허브이다.
모든 요청과 변경 사항은 kube-apiserver를 통해 이루어지게된다.

kubectl get pods

위와 같이 kubectl 명령어를 실행하면 kubectl은 kube-apiserver에 요청을 보낸다.
kube-apiserver는 요청을 인증(authentication) 및 검증(valication)하며, 요청된 데이터를 ETCD에서 조회하며 응답을 반환한다.

Kube-api server가 pod를 생성하는 과정

사용자가 Pod을 생성하는 요청을 보낸 경우, 아래와 같은 Flow를 통해 사용자의 요청을 처리하게 된다.

1) 사용자가 kubectl apply -f pod.yaml 실행
2) kubectl이 kube-apiserver에 Pod 생성 요청을 전달
3) kube-apiserver가 요청을 인증 및 검증
4) kube-apiserver가 ETCD에 Pod 객체를 저장
5) 사용자에게 Pod가 생성되었다는 요청을 반환

 

이후 Scheduler가 Pod를 감지하고 노드에 배치하는 과정이 이어지게된다.
스케줄링 프로세스는 다음과 같다.

 

1) Kubernetes 스케줄러가 kube-apiserver를 모니터링하는 도중 새로운 Pod가 있지만 아직 Node가 할당되지 않았음을 감지한다.
2) 스케줄러가 적절한 Node를 선택하여 kube-apiserver에 전달한다.
3) kube-apiserver가 ETCD의 데이터를 업데이트한다.
4) kube-apiserver가 선택된 Node의 kubelet에 Pod 생성 요청을 전달한다.
5) kubelet에 컨테이너 런타임을 사용하여 Pod를 실행한다.
6) kubelet이 실행된 pod 정보를 kube-apiserver에 보고한다
7) kube-apiserver가 ETCD의 데이터를 최종 업데이트한다.

 

즉 모든 변경사항은 kube-apiserver를 통해 이러우지며, ETCD에 저장된 후에 완료처리된다.

kube-apiserver 의 설정 방법

  1. kubeeadm을 사용한 경우
  • kube-apiserver는 Pod의 형태로 자동 배포된다.
  • 해당 파드는 kube-system 네임스페이스에서 실행됨
  • 관련된 설정 파일은 /etc/kubernetes/manifests/kube-apiserver.yaml에 저장된다.
  1. 수동으로 Kubernetes를 구축한경우
  • kube-apiserver 바이너리를 다운로드하고 직접 실행해야함
  • 설정 파일은 etc/systemd/system/kube-apiserver.service에 위치한다.

'CKA' 카테고리의 다른 글

(TIL) Kube-Scheduler  (0) 2025.03.09
(TIL) Kube Controller Manager in Kubernetes  (0) 2025.03.09
(TIL) Kubernetes의 ETCD  (0) 2025.03.03
(TIL) ctr, cri, nerd-control  (0) 2025.03.03
(TIL) Cluster Archiectuer  (0) 2025.03.03
    'CKA' 카테고리의 다른 글
    • (TIL) Kube-Scheduler
    • (TIL) Kube Controller Manager in Kubernetes
    • (TIL) Kubernetes의 ETCD
    • (TIL) ctr, cri, nerd-control
    심플코더
    심플코더

    티스토리툴바