Kubernetes_Architecture
Kubernetes Architecture
Kubernetes main components:
- Master/worker nodes
- Controllers
- Services
- Pods of containers
- Namespaces and quotas
- Network and policies
- Storage
A Kubernetes cluster is composed of a master node and a set of worker nodes. The cluster is all driven via API calls to controllers (interior/exterior traffic).
Example, request to create a Pod
-
User request to create a new
Pod
received bykube-apiserver
. -
kube-apiserver
queriesetcd
for number of currentPod
s. -
etcd
responds tokube-apiserver
with number of currentPod
s. -
kube-apiserver
sends request tokube-controller-manager
to create a newPod
. -
kube-controller-manager
compares current and desired states and responds tokube-apiserver
with need to spawn a newPod
. -
kube-apiserver
sends request tokube-scheduler
to schedule a newPod
.kube-scheduler
responds tokube-apiserver
with specific worker node where thePod
needs to be scheduled. -
kube-apiserver
sends request tokubelet
on Worker Node and tokube-proxy
to change network configuration/routing (iptables
,ipvs
) -
kubelet
communicates withcontainer engine
which communicates with the containers. AService
will expose the containers externally. -
kubelet
andkube-proxy
respond tokube-apiserver
with changes made and current state.