Day 5/40
What is Kubernetes
Video Link
@piyushsachdeva
Git Repository
My Git Repo
We're going to look at Kubernetes
architecture in depth.
-
Control Plane
components. - Why it's needed.
- How do they work?
-
Node
is nothing but a virtual machine. Control Plane
is a virtual machine that hosts many administrative components, like board in companies!Actual works are done by
Worker Node
.POD
is the smallest deployable unit that can be managed byKubernetes
which can include one or multiple containers.API Server
acts as the central management point of the entireKubernetes
cluster.Schedular
is that it automatically decides how to distribute workloads across a cluster of servers.Controller Manager
which handles all interactions withnode controller
,namespace controller
,deployment controller
,replication controller
and so on, and make sure everything is up & running and monitored.etcd
is a key-value datastore which stores the data required to manage clusters. Importantly.kubelet
functions as an agent within nodes and is responsible for the running of pod cycles within each node.kube-proxy
controls traffic routing and network connectivity for services within the cluster.kubectl
is a command-line tool which command communicates with thekube-apiserver
and sends orders to thecontrol plane
node.
Work Flow
-
kubectl
toapi-server
: Please create thepod
-
api-server
validate and authenticate the user withetcd
and notify thecontroller-manager
. -
controller-manager
tells theapi-server
it's ok to have aPOD
-
api-server
write the request inetcd
database. -
etcd
says toapi-server
yes it's done. -
api-server
says toscheduler
to watch the new request. -
schedular
monitors and find out there's apod
creation request. -
schedular
says toapi-server
that I found a very special node for deploying the newpod
. -
api-server
interacts with thekubelet
of the selectionnode
. -
kubelet
asksdocker
(or other alternative) to build thecontainer
with requetedimage
. -
docker
says to'kubelet
, hey deploy what I built. -
kubelet
run thepod
and sends back the detail toapi-server
that thepod
is deployed. -
api-server
update the related record inetcd
database. -
api-server
sends the detail tokubectl
and theuser
.