What is Kubernetes?

Kubernetes is an open-source platform that maintains container workloads and services. It aids in declarative configuration and automation. Kubernetes consists of an array of data constructs that allow us to run resilient, distributed applications.

Why use Kubernetes?

The most common issue developers face is that they have to spend a substantial amount of time and effort setting up a suitable environment rather than focusing on the actual algorithm. Serverless is a cutting-edge approach that helps us with such architecture issues.

Kubernetes architecture

Kubernetes follows a client-server architecture. The architecture comprises one master/control node and its associated worker nodes (See illustration below).

Flow diagram of Kubernetes architecture

Control plane components

The control plane has two main roles:

  • It manages the global decisions of the cluster. These include tasks like scheduling.
  • It monitors and handles cluster events, like creating a new pod when a replica field is unsatisfied.

The main components of the control plane are listed below:

  • Kube-apiserver: This component acts as an interface to the Kubernetes API. The server is responsible for maintaining the structure of the cluster, handling requests (changes to pods, services, etc.), and providing a frontend for the cluster.
  • etcd: This component is key-value storage used to store all cluster data.
  • Kube-controller-manager: This component manages controller processes. It runs essential services in the background and carries out designated tasks.
  • Kube-scheduler: This component searches for new pods with no assigned node and schedules them on a suitable node based on the requirements.

Worker node components

These components execute at each node. They manage the running pods and provide a consistent Kubernetes environment.

The main components are listed below:

  • Kubelet: A service that runs on each node of the cluster. It receives and carries out modification requests and ensures the running and health of the pods and containers.
  • Kube-proxy: It is a network proxy that runs on each node in your cluster. It maintains network rules that enable communication to our pods from network sessions inside or outside the cluster.

Unlock your potential: Kubernetes Essentials series, all in one place!

To deepen your understanding of Kubernetes, explore our series of Answers below:

  • What is Kubernetes?
    Get an introduction to Kubernetes, the powerful container orchestration platform that automates deployment, scaling, and management of containerized applications.

  • What is Kubernetes Event-Driven Autoscaling (KEDA)?
    Learn how KEDA enables event-driven scaling, allowing Kubernetes workloads to automatically scale based on external metrics such as message queues, databases, and cloud events.

  • Why do we use Kubernetes?
    Understand the core benefits of Kubernetes, including automated deployment, scaling, and management of containerized applications across distributed environments.

  • What are Kubernetes namespaces?
    Discover how Kubernetes namespaces help organize and isolate workloads within a cluster, enhancing security and resource allocation.

  • What are the different types of services in Kubernetes?
    Explore the various Kubernetes service types—ClusterIP, NodePort, LoadBalancer, and ExternalName—and their roles in facilitating communication between applications.

  • ReplicationController in Kubernetes
    Learn about the ReplicationController, its role in maintaining pod availability, and how it ensures that a specified number of pod replicas are always running.

  • ExternalDNS in Kubernetes
    Understand how ExternalDNS simplifies service discovery by dynamically managing DNS records for Kubernetes services, making external access seamless.

  • What are taints and tolerations in Kubernetes?
    Gain insights into taints and tolerations and how they control pod scheduling by preventing or allowing specific workloads to run on designated nodes.

  • Introduction to Node Affinity in Kubernetes
    Discover how Node Affinity works in Kubernetes to influence pod scheduling by specifying node selection preferences and ensuring efficient workload distribution.

Free Resources

Copyright ©2025 Educative, Inc. All rights reserved