[쿠버네티스 클러스터의 구성요소]
크게 2개의 부분으로 나눌수 있습니다.
Control Plane(또는 마스터노드)
- 클러스터를 제어,상태, 구성에 필요한 데이터가 함께 있습니다.
- 컨테이너가 필요한 리소스를 갖고 충분한 횟수로 실행되도록 하는 중요한 작업을 맡습니다.
Compute Machines(또는 노드)(또는 워커노드)
- 최소 1개 이상의 컴퓨팅 노드가 필요.
- 클러스터 용량 확장이 필요하다면. 해당 노드를 더 추가하면 됩니다.
[세부기능 소개]
Control Plane > Kube-apiserver
kube-apiserver는 kubernetes api를 받아들이는 기능으로. Kubernetes 마스터 노드의 Frontend 이며,
내부 및 외부적으로 kubernetes에 요청을 보냈을 때, 요청이 유효한지를 판별한후 요청을 처리합니다.
(REST 호출, kubectl, kubeadm과 같은 CLI를 통해 API에 액세스 할 수 있습니다. )
Control Plane >Kube-scheduler
kube-scheduler는 CPU or 메모리와 같은 Pod의 요구사항과 함께, 클러스터의 상태를 고려하여, Pod를 적절한 노드에 예약하는 역할을 합니다.
클러스터가 양호한 상태인지, 새 Pod가 어디 Node에 적합한지 등을 다룹니다.
Control Plane >Kube-controller-manager
kube-controller-manager에는 여러 컨트롤러 기능이 하나로 통합되어 있습니다.
- 실제로 클러스터를 실행하고
- 스케줄러를 참고하여 정확한 수의 Pod가 실행되게 합니다.
- Pod에 문제가 생기면 이를 감지하고 대응합니다.
- 서비스를 Pod에 연결하므로 요청이 적절한 엔드포인트로 이동합니다. 또한 계정 및 API 액세스 토큰 생성을 위한 컨트롤러가 있습니다.
Control Plane >Etcd
설정 데이터와 클러스터의 상태에 관한 정보는 키-값 저장소 데이터베이스인 etcd에 상주합니다.
Worker > Kubelet
각 Worker Node에는 Master Node와 통신하는 kubelet이 있습니다. Master Node에서 노드에 작업을 요청하는 경우 kubelet이 이 작업을 실행합니다.
Worker > kube-proxy
kube-proxy는 각 Worker Node에는 쿠버네티스 네트워킹 서비스를 위한 네트워크 프록시입니다.
kube-proxy는 클러스터 내부 또는 외부의 네트워크 통신을 처리합니다.
(추가)
Persistant Stroage
- 클러스터에 연결된 어플리케이션 데이터 관리를 위한 저장공간
- 사용자가 스토리지 인프라에 관한 정보를 모르더라도 스토리지 리소스를 요청할 수 있습니다.
- Ceph, NFS 등...
Container registry
- Kubernetes가 의존하는 컨테이너 이미지는 컨테이너 레지스트리에 저장
- Ex) JFrog 의 Artifactory
Pod
https://lifeplan-b.tistory.com/25?category=886551
참조 : https://www.redhat.com/ko/topics/containers/kubernetes-architecture
'IT Knowledge > Kubernetes' 카테고리의 다른 글
CentOS NFS Server 설치 및 설정 (0) | 2022.05.17 |
---|---|
Kubernetes 대시보드 UI 배포(with kube-apiserver) (1) | 2022.04.08 |
kubernetes의 namespace 소개 및 사용법 (3) | 2022.04.04 |
Minikube 설치시 오류(Docker) (2) | 2022.03.29 |
Minikube 설치 방법(Docker,CentOS7) (1) | 2022.03.29 |
댓글