Tech The Main Components of Kubernetes Uneeb KhanNovember 21, 20220227 views Generally speaking, the components of Kubernetes are Kubelet, Kube-controller-manager, API server, cluster DNS, and storage volumes. All these components work together to manage the entire cluster and ensure that all applications can run. Table of Contents KubeletCluster DNSAPI serverKube-schedulerKube-controller-managerStorage volumes Kubelet Having a Kubernetes cluster is essential to many organizations. It helps them to run multiple applications on a single virtual machine. But organizations can also need help to deploy multiple applications on a single virtual machine. By utilizing Kubernetes, you can easily create application containers and you can check sites like Portworx for more information. Kubernetes also provides networking services. Each node in a Kubernetes cluster has a Kubelet. These agents are responsible for running containers and maintaining the cluster’s health. They are also responsible for networking and port forwarding. You can set up networking for pods by using the kubelet command line tool. Kubernetes is also known as a cloud-native development platform. It helps DevOps teams quickly build and deploy clusters. It offers users an API that enables them to deploy application containers. Cluster DNS Using Cluster DNS, users can discover pods and services within a Kubernetes cluster. Unlike traditional DNS solutions, Kubernetes provides lightweight service discovery that eliminates the need for hard-coded network parameters. Kubernetes Cluster DNS provides consistent DNS names for pods and services instead of IP addresses. It also supports reverse IP address lookups. In addition, the DNS server supports forward lookups (A records) for pods and services. API server Using an API server in Kubernetes is relatively straightforward. The API server is the ‘gateway’ to the rest of the Kubernetes cluster. It handles all API operations for the Kubernetes cluster and implements some of the critical components of the Kubernetes API. The API server also supports two other formats for requests. One is a text-based JSON format, and the other is a YAML format, which is more human-readable. The YAML format is suitable for sending files to the server via curl. Kube-scheduler Using the Kube Scheduler, another workload of Kubernetes infrastructure can be distributed across different nodes. When a node needs to host a POD, the Kube scheduler selects the most appropriate worker node from the cluster. This process runs inside the control plane and considers all relevant factors. Kube scheduler uses different scheduling algorithms and scoring mechanisms to rank nodes. Kube scheduler works by analyzing the availability of resources in the node. It considers various other factors like capacity, latency, and accuracy. Depending on the requirements, the scheduling utility can be tuned to suit a compromise between latency and accuracy. It also provides the ability to write your scheduling components. Kube-controller-manager Various controllers make up the Kube-controller-manager. The primary purpose of the Kube-controller-manager is to harmonize the current and desired state of the cluster. The controllers continuously monitor the state of the cluster and make requests to move the cluster closer to the desired state. The Kube-controller-manager includes various controller processes that run in the background. This component monitors the cluster’s health and ensures that the connections to the API are functional. It also performs taint and resource requests. The number of Kube-controller-manager instances indicates the general health of the kubelet. The Kube-controller-manager also performs garbage collection and namespace lifecycle. The Kube-controller-manager monitors the status of the cluster, detects changes in services, and maintains the cluster’s shared state. Storage volumes Kubernetes support various types of storage. Using the storage classes, the administrator can define the type of storage used for each workload. This gives the user the flexibility to fine-tune the performance and implement policies. Plug-ins allow for a variety of storage implementations. There are dozens of standard storage plug-ins available.