Control Plane and Node Components
Control Plane and Node were formerly referred to as Master/Worker Nodes. You can think of the Control Plane as a node that easily manages other nodes.
Control Plane consists of:
Api Server
: It receives user commands, stores state, and communicates with nodes, performing necessary actions.etcd
: It is a data store that stores all data related to the Kubernetes cluster and containers, with excellent availability in a distributed system.Scheduler
: It selects the appropriate node for container creation.Controller Manager
: It manages various controllers in Kubernetes and informs the API server of its responsibilities.Cloud Controller Manager
: It integrates various cloud service APIs with Kubernetes.
Node consists of:
kubelet
: Executes, montors and terminates container in conjunction with theApi Server
kube-proxy
: Manages the network of containers
api server: 사용자의 명령을 받아서 상태를 저장하고,Node와 통신하며 필요한 동작들을 수행 etcd: 쿠버네티스 클러스터 및 컨테이너와 관련된 모든 데이터를 저장하는 데이터 저장소, 분산시스템상에서 가용성이 굉장히 좋음 Scheduler: 컨테이너가 생성될 때 적합한 노드를 선택해주는 역할을 수행 Controller Manager: 쿠버네티스의 다양한 컨트롤러들ㅇ르 관리하며 API server가 해야할 일을 알려주는 역할 Cloud controller manager: 클라우드 서비스의 다양한 API를 쿠버네티스와 통합해주는 역할
Example: Container creation
Creating a container can be executed in the following steps:
- The spec of the container is sent to the
Api server
. - The spec and configuration is stored in
etcd
- The
Scheduler
determines whichnode
should create the container. - The
kubelet
then receives request from theApi server
and creates the container. - The status of the container is monitored by
kubelet
, and is stored in theetcd
.