Kubernetes Architecture
Agenda
In this session, you will learn about:
• High Level Component
• Master Components
• Apiserver
• etcd
• Kube-scheduler
• Kube-controller-manager
• Worker Components
• Kubelet
• kube-proxy
• Container run-time
High Level Components
3
Kubernetes Architecture
4
Master Components
• Kube-apiserver
• Etcd
• Kube-controller-manager
• Kube-scheduler
• Cloud-controller-manager
5
kube-apiserver
• Exposes REST interface into the
kubernetes control plane and Data
Store.
• All clients, including Nodes, Users
and other applications interact with
kubernetes strictly through the API
Server.
• Acting as the gatekeeper to the
cluster by handling:
• Authentication and Authorization
• Request validation
• Mutation and Admission control
6
etcd
• Etcd acts as the Cluster Data Store
• Provides a strong, consistent and
highly available key-value store
used for Persisting Cluster State.
7
kube-controller-manager
• Primary daemon that manages all
core component control loops
• Monitors the cluster state via the
apiserver and steers the cluster
towards the desired state
8
kube-scheduler
• Evaluates workload requirements
and attempts to find matching
resource.
• These requirements can include:
• Hardware requirements
• Affinity/Anti-affinity
• Any other custom resource
requirements.
9
cloud-controller-manager
• Provides cloud-provider specific
knowledge and integration
capability into the core control loop
of Kubernetes.
10
Node Components
• Kubelet
• Kube-proxy
• Container Runtime Interface
11
kubelet
• Acts as the node agent
responsible for managing pod
lifecycle on its host.
• Kubelet understands YAML/JSON
container manifests that it can
read from several sources:
• File path
• HTTP Endpoint
• Etcd watch acting on any changes
12
kube-proxy
• Manages the network rules on each
node and performs connection
forwarding or load balancing for
Kubernetes cluster services.
• Available proxy modes:
• Userspaces
• Iptables
• ipvs
13
Container Runtime
• With respect to Kubernetes, a
container runtime is a CRI
(Container Runtime Interface)
compatible application that
executes and manages containers.
• Containerd (Docker)
• Cri-o
• Rkt
14
Communication
Building blocks
One Points