Welcome to my Blog "Road To CKA" Day-4 . I am prepraing myself for the Certified Kubernetes Administrator and i wolud like to share my journey with you all. To preprar myself for the CKA Exam i am following:
Roadmap from Roadmap.sh
Udemy course - Certified Kubernetes Administrator (CKA) with Practice Tests created By Mumshad Mannambeth
-Coursera - IBM DevOps and Software Engineering Professional Certificate created By IBM .
I will try my best to share with you my daily learing topics and describe the theam in my own way.
Today i would like to share information about Kubernetes Architecture.
ROAD TO CKA [Certified Kubernetes Administrator ]-Prepration Resources (Day-1)
ROAD TO CKA [Certified Kubernetes Administrator ]-Exam Prerequisites,Syllabus , Exam details(Day-2)
ROAD TO CKA [Certified Kubernetes Administrator ]-What Kubernetes is & is not?(Day-3)
ROAD TO CKA [Certified Kubernetes Administrator ]-Core Concept- Control Plane/Master Node (Day-5)
ROAD TO CKA [Certified Kubernetes Administrator ]-Core Concept- Worker Node (Day-6)
Kubernetes Architecture
Kubernetes is an open-source container orchestration platform that simplifies the deployment, scaling, and management of containerized applications.
When you deploy Kubernetes, you get a cluster.
A Kubernetes cluster consists of a set of worker machines, called nodes, that run containerized applications. Every cluster has at least one worker node and at least one Master Node or Control Plane .
The worker node(s) host the Pods that are the components of the application workload. The control plane manages the worker nodes and the Pods in the cluster. In production environments, the control plane usually runs across multiple computers and a cluster usually runs multiple nodes, providing fault-tolerance and high availability.
Its architecture consists of several key components that work together to ensure the efficient operation of containerized workloads:
-
Master Node(Control Plane ): The master node is the control plane of the Kubernetes cluster. It manages and coordinates the overall cluster operations. It includes the following components:
- API Server: Exposes the Kubernetes API and acts as a central communication hub for all cluster components.
- etcd: A distributed key-value store that stores the cluster's configuration data and provides high availability and consistency.
- Scheduler: Assigns pods to nodes based on resource availability, constraints, and optimization policies.
- Controller Manager: Manages various controllers responsible for maintaining the desired cluster state, such as node and pod lifecycle management.
-
Worker Nodes: Worker nodes are the worker machines that run the actual application workloads in the form of containers. Each worker node has the following components:
- Kubelet: Acts as an agent running on each node and communicates with the master node. It manages and monitors the state of pods and ensures they are running as desired.
- Container Runtime: The software responsible for running containers, such as Docker or containerd.
- kube-proxy: Manages network routing and load balancing across pods and services.
Pod: The fundamental unit of deployment in Kubernetes. A pod is a logical group of one or more containers that share network and storage resources. Containers within a pod can communicate with each other using localhost, making it easier to build and manage interconnected application components.
ReplicaSet: Ensures the desired number of pod replicas are running at all times. It monitors the health of pods and automatically scales the number of replicas based on defined criteria.
Service: Provides a stable network endpoint for accessing a set of pods. It enables load balancing and service discovery within the cluster.
Volume: Allows containers to store and share data across pods and persists data beyond the lifecycle of a pod.
Namespace: Provides a logical separation and isolation of resources within a cluster. It enables multiple teams or applications to coexist within the same cluster without interfering with each other.
The architecture of Kubernetes is designed to be scalable, resilient, and flexible. It provides a robust framework for managing containerized applications in production environments, offering features like automatic scaling, rolling updates, and self-healing capabilities.
#RoadToCKA #Day_1 #Kubernetes #devops
Top comments (0)