Components of Kubernetes

Deepanshu Mehta
3 min readJan 14, 2023

--

Kubernetes is a complex and powerful platform that includes several different components that work together to manage and orchestrate containers. Here are some of the most important components of Kubernetes:

  1. Node: A node is a worker machine in a Kubernetes cluster. It runs the container runtime, such as Docker, and it also hosts the pods that run the application containers.
  2. Pod: A pod is the smallest and simplest unit in the Kubernetes object model. It represents a single container or a group of tightly coupled containers that run together on the same host.
  3. Replication Controller: A replication controller ensures that a specified number of replicas of a pod are running at any given time.
  4. Service: A service provides a stable endpoint for a set of pods, it can also load balance the traffic between the different pods.
  5. Deployment: A deployment is a higher-level object that manages the creation and scaling of pods. It provides declarative updates for Pods and Replication Controllers.
  6. ConfigMap: A ConfigMap is a way to store configuration data separately from the pods, allowing you to change the configuration without having to recreate the pods.
  7. Secret: A Secret is a way to store sensitive data, like passwords and tokens, separately from the pods.
  8. Volume: A Volume is a way to persist data in a pod, even if the pod is deleted or recreated.
  9. Ingress: An Ingress is a way to expose services to the internet, it can also handle the routing of the incoming traffic.
  10. Namespace: A Namespace is a way to divide the cluster resources among multiple users or projects.
  11. StatefulSet: A StatefulSet is a higher-level object that manages the deployment and scaling of stateful applic
  12. DaemonSet: A DaemonSet ensures that a copy of a pod runs on each node in the cluster, it’s useful for running system daemons and agents.
  13. Job: A Job creates one or more pods and ensures that a specified number of them successfully terminate.

Difference between `Node` and `pods` in Kubernetes:

In K8s, a Node is a worker machine that runs the container runtime, such as Docker, and it also hosts the Pods that run the application containers. A Pod, on the other hand, is the smallest and simplest unit in the K8s object model. It represents a single container or a group of tightly coupled containers that run together on the same host.

Here are some of the key differences between Nodes and Pods in K8s:

  • Scale: A Node is a physical or virtual machine, while a Pod is a logical host for one or more containers. Pods are created and destroyed as needed, while Nodes are typically long-lived.
  • Resources: Nodes have resources like CPU, memory, and storage, while Pods consume resources from the Node they are running on. Pods can request specific resources, while Nodes have a fixed amount of resources.
  • Networking: Nodes are responsible for providing network connectivity to Pods, while Pods are responsible for providing application-level network services.
  • Persistence: Nodes are typically long-lived and can persist data, while Pods are ephemeral and do not persist data by default. To persist data in a Pod, you can use a Volume.
  • Management: Nodes are typically managed by a cluster administrator, while Pods are managed by Kubernetes through Replication Controllers, Deployments, and other objects.

--

--

Deepanshu Mehta
Deepanshu Mehta

Written by Deepanshu Mehta

I am Full Stack Developer Python/Django + Go/Gin + Javascript/ReactJS

No responses yet