🚀Day 30 Task: Kubernetes Architecture

Kubernetes Overview
With the widespread adoption of containers among organizations, Kubernetes, the container-centric management software, has become a standard to deploy and operating containerized applications and is one of the most important parts of DevOps.
Originally developed at Google and released as open-source in 2014. Kubernetes builds on 15 years of running Google's containerized workloads and the valuable contributions from the open-source community. Inspired by Google’s internal cluster management system, Borg.
Tasks
What is Kubernetes? Write in your own words and why do we call it k8s?
Kubernetes is a type of container orchestration tool. In Kubernetes, we can run docker containers or any other type of container.
K8s
Developed by the Google and released as open-source in 2014.The name K8s is a shorthand for Kubernetes. The Number 8 represents the number of letters skipped the K and the S in the word Kubernetes.
What are the benefits of using K8s?
Here are the benefits of Kubernetes (K8s):
A) Run Application in container efficiently.
B) Keep applications up and running even if a node fails.
C) Easily deploy and update applications.
D) Scale Applications to meet demand.
E) Improve security for applications.
F) Run applications in different environments with ease.
Explain the architecture of Kubernetes.
Kuberrnetes Architecture Digram.
A) Master Node: The Master Node is the control center of the cluster, managing the desired state of a cluster & ensuring the actual state matches the desired state.
B) Worker Node: The worker node is used to communicate with the master node to receive instructions and report their status.
C) etcd: will manage the database. All data will be stored on etcd.
D) API Server: The API server is the main interface for the communication between the Master node and the worker node. Which can be managed in the cluster and deploy applications. The API server is connected with kubelet.
E) Controller Manager: It is responsible for various controllers that regulate the state of the cluster. The controller manager will check whether the worker nodes are running or not.
F) Scheduler: It is also responsible for assigning the pods to worker nodes based on the resource requirements and constraints.
G) Kubelet: It is a process running on each node that will communicate with Master node to receive instructions and ensure the containers are running as intended.
H) Kubectl: It is a command line interface for interacting with the Kubernetes API. It is directly talking with Api server.
What is Control Plane?
The Control Plane manages the worker nodes and the pods in the cluster. In Production Environments, the control plane usally runs the across multiple computers and a cluster usually runs multiple nodes,providing fault-tolerance.Its components applications,scaling, resources and inspecting logs.
Basic Control Plane Diagram.
What is the difference between Kubectl and Kubelets?
Kubectl: Is the command line interface (CLI) tool for working with a Kubernetes cluster. Used for the communicating with the API server to perform various operations on the cluster such as deploying applications, scaling resources and inspecting logs.
Kubelet: Kubelet is the technology that applies, creates, updates and destroys containers on a Kubernetes node.
What is API Server?
The api server will directly talk with the worker node. Api server is like the team lead of the project.
When you interact with your Kuberenetes cluster using the Kubectl command-line interface,you are actually communicating with the master API Server.


