Kube-API Server 개요
2024. 12. 12. 07:55ㆍ쿠버네티스/쿠버네티스
728x90
반응형
Kube-API Server 개요
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 명령 실행 시 요청을 처리하는 역할
- 주요 역할:
- 요청 인증 및 유효성 검사
- etcd에서 데이터 읽기 및 업데이트
- 클러스터 변경 요청의 중심 역할 수행
Kube-API Server의 동작 과정
- 요청 처리
- 클라이언트가 API 서버로 요청(kubectl 또는 직접 API 호출) → API 서버가 요청 인증 및 유효성 검사
- 예: 파드 생성 요청 시, etcd에 파드 객체 정보 저장 후 사용자에게 결과 반환.
- 스케줄러 및 Kubelet과의 상호작용
- 스케줄러는 API 서버를 통해 새 파드의 노드 배치를 결정.
- API 서버는 결과를 etcd에 저장하고 해당 정보를 Kubelet에 전달.
- Kubelet이 파드를 생성하고 컨테이너 런타임(Docker 등)을 통해 애플리케이션 이미지를 배포.
- 완료된 상태를 API 서버로 업데이트 → API 서버가 etcd에 기록.
- 중앙 조정 역할
- 모든 클러스터 변경 요청은 API 서버를 통해 이루어짐.
- etcd와 직접 상호작용하는 유일한 구성 요소.
다른 구성 요소와의 관계
- 스케줄러, 컨트롤러 매니저, Kubelet:
- API 서버를 통해 클러스터 상태를 읽고, 변경 사항 적용.
설치 및 설정
- Kubeadm 사용 시
- API 서버는 Pod 형태로 마스터 노드의 kube-system 네임스페이스에 배포.
- 설정 파일: /etc/kubernetes/manifests/kube-apiserver.yaml
- 직접 설치 시
- Kubernetes 릴리스 페이지에서 바이너리를 다운로드하여 마스터 노드에서 서비스로 설정.
- 설정 파일: /etc/systemd/system/kube-apiserver.service
API 서버의 주요 설정 옵션
- etcd 서버 주소
- API 서버와 etcd 서버 간 연결을 설정.
- 옵션: --etcd-servers=<etcd 서버 주소>
- 인증서
- 클러스터 구성 요소 간 안전한 통신을 위한 인증서 사용.
- SSL/TLS 인증서는 모든 구성 요소와 연관됨.
- 기타 옵션
- 인증, 권한 부여, 암호화 설정 등 다양한 보안 및 네트워크 관련 옵션.
API 서버 설정 확인 방법
- Kubeadm으로 설치된 경우
- 설정 파일: /etc/kubernetes/manifests/kube-apiserver.yaml
- 직접 설치된 경우
- 서비스 파일: /etc/systemd/system/kube-apiserver.service
- 실행 중인 프로세스에서 확인
- 명령어: 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 |