우노
[K8S] Control Plane, Data Plane이란? 본문
들어가기 앞서,
- 쿠버네티스 클러스터는 노드들의 집합이며, 노드는 두가지 종류로 이루어져있습니다.
- Master Node - Control Plane(컨트롤 플레인)
- 워커 노드와 클러스터 내 파드들을 관리하고 제어합니다.
- Worker Node - Data Plane(데이터 플레인)
- 파드를 통해 실제 Application을 동작시킵니다.
- Master Node - Control Plane(컨트롤 플레인)
Control Plane(컨트롤 플레인)
- Control Plane은 현재의 클러스터 상태를 사용자가 원하는 클러스터 상태(ex. yaml 파일 내용)로 끊임없이 조정해 주는 컨트롤 센터입니다.
- 즉, Control Plane에는 실제 서비스와는 무관한, k8s 클러스터 운영과 관련된 컴포넌트들로 이루어져 있습니다.
- API Server
- REST, kubectl 명령어 등을 입력 받아 요청을 처리하는 역할입니다.
- Controller Manager
- Kubernetes의 Resource를 모니터링하며,
- 현재 상태와 사용자가 원하는 상태가 동일해지도록 관리하는 역할입니다.
- Scheduler
- 어떤 워커 노드에 파드를 배정할지 결정하는 역할입니다.
- 파드가 요구하는 CPU,메모리 리소스 요구 사항 등에 따라 결정됩니다.
- POD를 직접적으로 실행하는 것은 kubelet의 역할입니다.
- etcd
- 클러스터의 상태와 관련된 정보가 키-값 형식으로 저장된 데이터베이스입니다.
- API Server
Data Plane(데이터 플레인)
- Data Plane에는 실제 서비스 동작과 관련된 컴포넌트들로 이루어져 있습니다.
- kubelet
- Master Node와 통신하는 역할입니다.
- Master Node의 Scheduler가 특정 노드에 파드를 할당하면,
- kubelet이 해당 파드에서 컨테이너를 실행합니다.
- kube-proxy
- IP 변환 및 네트워크 통신을 관리하는 역할입니다.
- container runtime engine
- 컨테이너 실행을 위한 엔진 역할입니다.
- 런타임 엔진 중 하나가 Docker입니다.
- kubelet
참고
- https://medium.com/coinone/좌충우돌-kubernetes-익히기-2-36e17a75d36c
- https://fisache.tistory.com/15
- https://awskrug.github.io/eks-workshop/introduction/basics/concepts_nodes/
- https://seongjin.me/kubernetes-cluster-components/
- https://catalog.us-east-1.prod.workshops.aws/workshops/9c0aa9ab-90a9-44a6-abe1-8dff360ae428/ko-KR/10-intro/100-k8s
- https://www.samsungsds.com/kr/insights/kubernetes-3.html
- https://dev.classmethod.jp/articles/summit-korea-report-eks/
- https://fisache.tistory.com/14
- https://www.redhat.com/ko/topics/containers/kubernetes-architecture
- https://velog.io/@koo8624/번역-쿠버네티스-아키텍처-Kubernetes-Architecture-Explained
- https://kb.novaordis.com/index.php/Kubernetes_Control_Plane_and_Data_Plane_Concepts
- https://carltsuis-blog.readthedocs.io/en/latest/kubernetes/Architecture of a Kubernetes cluster/
'DevOps > Kubernetes' 카테고리의 다른 글
[K8S] kubectl secret 명령어 (0) | 2023.06.10 |
---|---|
[K8S] Service - ClusterIP, NodePort, LoadBalancer (0) | 2023.03.26 |
[K8S] Label, Selector, Annotation (0) | 2023.03.01 |
[K8S] Nodeport, Port, Targetport 정리 (0) | 2023.03.01 |
[Kubernetes] MacOS 에서 VirtualBox 로 Kubernetes Cluster 구성하기 (0) | 2022.02.21 |
Comments