Kubernetes
Kubernetes is an open-source system and container orchestration tool. It is designed to automate the deployment, scaling, and management of containerized applications.
Last updated
Kubernetes is an open-source system and container orchestration tool. It is designed to automate the deployment, scaling, and management of containerized applications.
Last updated
Kubernetes is an open-source platform designed to automate containerized applications' deployment, scaling, and management. It allows containers that make up an application to be grouped into logical units for easier management. Kubernetes provides powerful orchestration and management capabilities for deploying containers at scale, enabling the creation of application services spanning multiple containers, scheduling these containers across a cluster, scaling them dynamically, and ensuring their health
Cluster -> A cluster is a group of items or computers closely connected or networked to function as a single system. Enterprise computing commonly uses clusters to ensure high availability and enable load balancing.
Nodes -> A node in a Kubernetes cluster is a physical or virtual machine that runs container workloads. It hosts pods, manages networking, and communicates with the control plane for workload scheduling. Each node runs the kubelet agent, enabling the control plane to manage it effectively. Nodes can operate on-premises or in the cloud and support one or more pods.
PODS -> A pod is the smallest deployable unit in Kubernetes. It consists of one or more containers that share storage, network resources, and a runtime specification. Pods facilitate data sharing and communication among containers, creating an environment for them to operate efficiently.
Kubernetes control-Plane -> Is the set of components that manage and orchestrate the k8 cluster-
Kube API server
Etcd
Kube-scheduler
Kube-controller-manager
Cloud-controller-manager
Kuber API server:- The Kube API server is the central component of the Kubernetes control plane. It acts as the front-end interface, handling all requests to the Kubernetes API and managing communication between cluster components. It ensures the desired state of the cluster is maintained.
Etcd:- Etcd is a distributed, reliable, and highly available key-value store used to store the configuration data for the Kubernetes cluster.
Kube Scheduler:- Kube Scheduler is the component responsible for assigning newly created Pods to Nodes within a cluster. It considers the Pods' resource requirements, available resources on the Nodes, and other scheduling constraints to efficiently allocate Pods to suitable Nodes.
Kube-controller-manager:- The Kube Controller Manager is responsible for running various controller processes that monitor the state of the cluster and make necessary adjustments. It includes a set of controllers that manage different aspects of the cluster, such as nodes, replicas, endpoints, and services.
A Kubernetes worker node is a physical or virtual machine that runs containerized applications and services. It includes the following:
Kubelet
Kube-Proxy
Container Runtime
Kubelet:- The Kubelet is the primary agent running on each node, responsible for communicating with the control plane. It manages the starting, stopping, and monitoring of containers based on instructions from the control plane.
Kube-proxy:- Kube-proxy is responsible for managing network routing between pods and services in the cluster.
A container runtime is responsible for starting and stopping containers on a node, such as Docker.