Kubernetes 기본 개념 구성도를 보며 간략하게 알아보자
기본 개념 구성도를 보며 간략하게 알아보자.
큰 그림으로 보면 kubectl을 통해 받은 명령어를 api server를 통해 kubelet으로 전달하면 Pod( container 묶음 )를 생성하며 서비스를 제공한다.
물론 메타데이터를 저장하는 etcd, 다양한 제어기능을 위한 controller-manager, 자원분배를 도와주는 scheduler, 네트워크 트래픽을 담당하는 kube-proxy도 있다.
kubectl : kubectl은 간단하게 명령어를 보내는 역할만 한다.
- ex) kubectl get pods ( pod들을 확인하는 명령어 )
API server : 간단하게 명령어를 전달해주는 역할만 진행하며, etcd클러스터랑도 통신한다 (기본적으로 REST방식으로 통신)
etcd : kubernetes 클러스터 데이터(포드 수, 상태, 네임 스페이스 등), API 객체 및 서비스 검색 세부정보를 저장하는 데 사용되는 분산 키 값 저장소 (메타 데이터가 저장되는 역할을 한다 생각하면 된다)
controller-manager : 컨트롤러 매니저는 복제, 서비스계정, 네임스페이스 등을 생성하고 이를 각 노드에 배포하며 관리하는 역할 (사용자가 다양한 설정을 정할 수 있는데 이러한 것을 제어하기 위해 도와주는 역할)
scheduler: 스케줄러는 Pod, 서비스 등 각 자원을 적절한 노드에 할당하는 역할
kubelet : 노드는 기본적으로 정기적으로 새로운 pod 또는 수정된 pod의 사양으로 포드 및 컨테이너가 원하는 상태로 실행되고 있는지 확인.
kube-proxy : 노드로 들어오는 네트워크 트래픽을 적절한 컨테이너로 라우팅 하고, 로드밸런싱 등 노드로 나가는 네트워크 트랙픽을 프락시하고 노드와 마스터 간 통신을 관리
'IT Technology > Kubernetes' 카테고리의 다른 글
쿠버네티스[K8S] 구성요소 노드&파드 (0) | 2023.01.11 |
---|---|
[Kubernetes] 쿠버네티스란 무엇인가? 쉽게 알아보기 (0) | 2021.10.03 |