Kube-API Server 개요

2024. 12. 12. 07:55쿠버네티스/쿠버네티스

728x90
반응형

Kube-API Server 개요

https://www.linkedin.com/posts/devopscube_devops-kubernetes-continuouslearning-activity-7237406831575244801--d-K/

 

LinkedIn DevOpsCube 페이지: #devops #kubernetes #continuouslearning | 댓글 16

kube-api server Explained 🚀 The kube-api server is the central hub of the Kubernetes cluster that exposes the Kubernetes API. It is the main entry point… | 댓글 16

www.linkedin.com

쿠버네티스 클러스터는 마스터와 작업자 노드 집합으로 구성되어 있다.

이 노드들 사이의 모든 통신은 보안이 필요하고 암호화되어야 한다.
kubectl 명령어를 통해 클러스터와 상호작용하거나 kubernetes API에 접근할 때에도 TLS 연결을 설정해야 한다.

  • Kubernetes의 주요 관리 구성 요소
  • kubectl 명령 실행 시 요청을 처리하는 역할
  • 주요 역할:
    1. 요청 인증 및 유효성 검사
    2. etcd에서 데이터 읽기 및 업데이트
    3. 클러스터 변경 요청의 중심 역할 수행

Kube-API Server의 동작 과정

  1. 요청 처리
    • 클라이언트가 API 서버로 요청(kubectl 또는 직접 API 호출) → API 서버가 요청 인증 및 유효성 검사
    • 예: 파드 생성 요청 시, etcd에 파드 객체 정보 저장 후 사용자에게 결과 반환.
  2. 스케줄러 및 Kubelet과의 상호작용
    • 스케줄러는 API 서버를 통해 새 파드의 노드 배치를 결정.
    • API 서버는 결과를 etcd에 저장하고 해당 정보를 Kubelet에 전달.
    • Kubelet이 파드를 생성하고 컨테이너 런타임(Docker 등)을 통해 애플리케이션 이미지를 배포.
    • 완료된 상태를 API 서버로 업데이트 → API 서버가 etcd에 기록.
  3. 중앙 조정 역할
    • 모든 클러스터 변경 요청은 API 서버를 통해 이루어짐.
    • etcd와 직접 상호작용하는 유일한 구성 요소.

다른 구성 요소와의 관계

  • 스케줄러, 컨트롤러 매니저, Kubelet:
    • API 서버를 통해 클러스터 상태를 읽고, 변경 사항 적용.

설치 및 설정

  1. Kubeadm 사용 시
    • API 서버는 Pod 형태로 마스터 노드의 kube-system 네임스페이스에 배포.
    • 설정 파일: /etc/kubernetes/manifests/kube-apiserver.yaml
  2. 직접 설치 시
    • Kubernetes 릴리스 페이지에서 바이너리를 다운로드하여 마스터 노드에서 서비스로 설정.
    • 설정 파일: /etc/systemd/system/kube-apiserver.service

API 서버의 주요 설정 옵션

  1. etcd 서버 주소
    • API 서버와 etcd 서버 간 연결을 설정.
    • 옵션: --etcd-servers=<etcd 서버 주소>
  2. 인증서
    • 클러스터 구성 요소 간 안전한 통신을 위한 인증서 사용.
    • SSL/TLS 인증서는 모든 구성 요소와 연관됨.
  3. 기타 옵션
    • 인증, 권한 부여, 암호화 설정 등 다양한 보안 및 네트워크 관련 옵션.

API 서버 설정 확인 방법

  1. Kubeadm으로 설치된 경우
    • 설정 파일: /etc/kubernetes/manifests/kube-apiserver.yaml
  2. 직접 설치된 경우
    • 서비스 파일: /etc/systemd/system/kube-apiserver.service
  3. 실행 중인 프로세스에서 확인
    • 명령어: ps -aux | grep kube-apiserver

요약

  • Kube-API Server는 Kubernetes의 중심 관리 구성 요소로, 클러스터 내 모든 변경 요청을 처리.
  • 요청 인증, 데이터 검증 및 etcd와의 상호작용 담당.
  • 설치 및 설정 방식에 따라 구성 파일의 위치가 다름.
  • 보안 및 인증 설정(SSL/TLS 인증서)은 필수.

https://www.youtube.com/watch?v=EJGwWP_qFVw

 

반응형

'쿠버네티스 > 쿠버네티스' 카테고리의 다른 글

Kube-Scheduler  (0) 2024.12.12
Kube Controller Manager  (0) 2024.12.12
ETCDCTL API 버전별 명령어  (0) 2024.12.12
ETCD  (2) 2024.12.11
개요  (1) 2024.12.11