Kubernetes Pod Scheduling Workflow

0
382

Curious about how Kubernetes gets things done effortlessly? πŸ€” Discover the magic behind scheduling Pods in this fascinating sequence diagram! πŸ“ˆ

πŸ”‘ Key Takeaways:

πŸ‘‰πŸ“ The user creates a Pod via the API Server ✨πŸ–₯️

πŸ“₯ The API server writes it to etcd πŸ“πŸ”’

πŸ” The scheduler notices an β€œunbound” Pod and decides which node to run that Pod on πŸ§­πŸƒβ€β™€οΈ

πŸ“ Scheduler writes that binding back to the API Server πŸ–ŠοΈπŸ”™

πŸ”„ The Kubelet notices a change in the set of Pods that are bound to its node πŸ”„πŸ”§

🐳 Kubelet, in turn, runs the container via the container runtime (i.e. Docker) πŸš’πŸƒβ€β™‚οΈ

πŸ‘€ The Kubelet monitors the status of the Pod via the container runtime πŸ•΅οΈβ€β™‚οΈπŸ’¬

πŸ”„ As things change, the Kubelet will reflect the current status back to the API Server πŸ”„πŸ”„πŸ’‘

🌟 Dive into the orchestration magic of Kubernetes! πŸš€ Embrace the containerized journey with ease! 🎯 #KubernetesWorkflow #ContainerMagic #DevOpsTech 🌐

By using the API Server as a central coordination point, Kubernetes is able to have a set of components interact with each other in a loosely coupled manner.

Kubernetes Control Plane

API Server

The API server is a component of the Kubernetes control plane that exposes the Kubernetes API. 

The API server is the front end for the Kubernetes control plane.

The main implementation of a Kubernetes API server is kube-apiserver

kube-apiserver is designed to scale horizontallyβ€”that is, it scales by deploying more instances. 

You can run several instances of kube-apiserver and balance traffic between those instances.

ETCD

Consistent and highly-available key value store.

It is used as Kubernetes’ backing store for all cluster data.

Backup and restore is a must.

Scheduler

Control plane component that watches for newly created Pods with no assigned node

And selects a node for them to run on.

Factors taken into account for scheduling decisions include: 

1.Individual and collective resource requirements, 

2.Hardware/software/policy constraints, 

3.Affinity and anti-affinity specifications, 

4.Data locality, 

5.Inter-workload interference, and deadlines. 

Kubernetes Node

Kubelet

An agent that runs on each node in the cluster. 

It makes sure that containers are running in a Pod.

The kubelet takes a set of PodSpecs that are provided through various mechanisms and ensures that the containers described in those PodSpecs are running and healthy. 

The kubelet doesn’t manage containers which were not created by Kubernetes.

Docker

Is an open source DevOps tool designed to help developers & operations guys to streamline application development and deployment.

By dockerizing an application means deploying and running an application using containers.

Containers allow a developer to package up an application with all of the parts it needs, such as libraries and other dependencies, and deploy it as one package.

Now, we need YOUR support to spread the word! πŸ™Œ

#KubernetesAnimation #ContainerMagic #DevOpsCommunity #TechRevolution

#BeginnerAcademy #cloud #awscloud #AWS  #DevOps #CommunityBuilding #CloudEnthusiast #KnowledgeSharing #awscommunitybuilders #AWSCommunity #CloudComputing #CloudCommunity #AWSNetworking #awscommunitybuilder

#cncf