PermalinkKubernetes Introduction
As organizations increasingly embrace containers, Kubernetes has emerged as the go-to solution for managing these containers. Serving as container orchestration software, Kubernetes has established itself as a fundamental tool for deploying and maintaining container-based applications within DevOps practices.
Having originated from Google, Kubernetes was unveiled as an open-source platform in 2014. It draws from 15 years of Google's experience in handling containerized workloads, integrating significant insights gleaned from the open-source community. Its design is inspired by Google's internal cluster management system.
PermalinkLet's explore more about Kubernetes with the below question.
1) What is Kubernetes? Write in your own words and why do we call it k8s?
Kubernetes, an open-source system, automates deploying, scaling, and overseeing containerized apps, streamlining their management in expansive, multi-node setups.
The moniker 'k8s' serves as an abbreviation for 'Kubernetes', with the '8' symbolizing the count of letters between 'K' and 's' in its name
2) What are the benefits of using k8s?
Efficiently run applications within containers.
Ensure application continuity despite node failures.
Simplify application deployment and updates.
Scale applications dynamically as per demand.
Enhance application security measures.
Seamlessly operate applications across diverse environments.
3) Explain the architecture of Kubernetes.
The Kubernetes architecture comprises key components:
API Server: The central interface facilitates communication between the Master node and worker nodes. It exposes the Kubernetes API for cluster management and application deployment.
Scheduler: Responsible for assigning pods to worker nodes based on resource requirements and constraints.
Controller Manager: Manages the cluster state by overseeing various controllers, like the replication controller and endpoints controller.
etcd: A distributed key-value store housing configuration data for the cluster (e.g., pod count, state, namespaces) and API objects, along with service discovery details.
Kubelet: A per-worker node process that interacts with the Master node, executing instructions and ensuring containers run optimally.
kubectl: The command-line interface enabling interactions with the Kubernetes API.
Master Node: The control hub overseeing the cluster's desired state, aligning the actual state with the intended configuration.
Worker Nodes: Environments where application containers execute, communicating with the Master node for instructions and status reporting
4) What is a Control Plane?
The Control Plane oversees both worker nodes and Pods within the cluster. In production setups, it typically spans multiple machines for fault tolerance and increased availability. Its components encompass the API server, etcd, scheduler, and controller manager
5) Write the difference between kubectl and kubelets.?
kubectl serves as the command-line tool for managing a Kubernetes cluster. It interacts with the API server, executing tasks like deploying apps, adjusting resource scales, and examining logs.
Kubelet functions as the technology responsible for handling container operations (creation, updates, deletion) on a Kubernetes node. Operating as agents on each cluster node, Kubelets maintains the cluster's intended state by communicating with the API server. They oversee node-contained containers and relay their status to the API server.
6) Explain the role of the API server.
Using the Kubectl command-line interface to engage with your Kubernetes cluster means interacting directly with the master API Server.
This pivotal component serves as the central management hub for the entire cluster. In essence, it handles REST operations, verifies their validity, and updates related objects within etcd. Designed to be a straightforward server, the API Server delegates most business logic to separate components or plugins.
Moreover, the API Server takes charge of authentication and authorization mechanisms. All API clients must undergo authentication to access and interact with the API Server
In our next session, we'll delve deeper into K8s.
Thank You!!
Happy Learning!!