# Kubernetes

**Kubernetes** is an open-source system for automating the deployment, scaling, and management of containerized applications. It allows containers that make up an application to be grouped into logical units for easy management. Kubernetes provides orchestration and management capabilities for deploying containers at scale, facilitating the building of application services that span multiple containers, scheduling those containers across a cluster, scaling them, and managing their health over time. It is a portable, extensible platform that supports declarative configuration and automation and has a large and rapidly growing ecosystem.

**Cluster**: A cluster is a group of items or computers that are close together or networked together to function as a single system. Clusters can be used for high availability and load balancing in enterprise computin&#x67;**.**

**Nodes:** A node is a logical collection of IT resources that runs workloads for one or more containers in a Kubernetes cluster. It contains the services necessary to run pods, which are group containers that communicate with control plan components, configure networking, and run assigned workloads. Each node can host one or multiple pods, and it can be a physical machine or virtual machine hosted on-premises or in the cloud. Nodes are managed by the control plane and automatically handle the scheduling of pods across the nodes in the cluster. They run an agent called kubelet,  which enables the Kubernetes control plane to control the node.

**PODS:** A pod is the smallest deployable unit of computing. It is a group of one or more containers with shared storage and network resources and a specification for how to run the containers. Pods enable the sharing of data and communication among containers, providing a conducive environment for containers to operate in.

<figure><img src="/files/A5BckE8L7dULKXIgh9EB" alt=""><figcaption></figcaption></figure>

**Kubernetes control-Plane: I**s the set of components that manage and orchestrate the k8 cluster-

1. Kube API server   2. Etcd 3. Kube-scheduler   4. Kube-controller-manager   5. Cloud-controller-manager&#x20;

**Kube API server:** The APIapi server is the front-end interface for the Kubernetes control plane that exposes Kubernetes API.

**Etcd:** Etcd is a distributed, reliable, and highly available key-value store used to store the configuration data for the k8 cluster.

#### Kube Scheduler

The Kube Scheduler is the component responsible for assigning newly created pods to nodes within a cluster. It takes into consideration the pods' resource requirements, available resources on the nodes, and other scheduling requirements to efficiently allocate pods to available nodes.

**The kube-controller-manager** is responsible for running various controller processes that monitor the state of the cluster and make changes as necessary. It encompasses a set of controllers that handle different aspects of the cluster, such as node and replica management, endpoints, and services, among others.

#### Kubernetes Worker Node

A Kubernetes worker node is a physical or virtual machine that runs containerized applications and services. It includes the following:

1. Kubelet
2. Kube-Proxy
3. Container Runtime

**Kubelet**

The Kubelet is the primary agent running on each node, communicating with the master node. It is tasked with starting, stopping, and monitoring containers as directed by the master.

**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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.neevcloud.com/neevcloud-guide/kubernetes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
