DEV Community

Cover image for The Kubernetes Glossary Cheatsheet: Essential Terms to Know Before You Start
Vaibhav Thukral
Vaibhav Thukral

Posted on

The Kubernetes Glossary Cheatsheet: Essential Terms to Know Before You Start

Learning a new technology or tool can be overwhelming, especially when encountering unfamiliar terminology.

Even with documentation, understanding these terms can be a challenge.

To help you get started with Kubernetes, here is a comprehensive list of Kubernetes terminology, along with explanations and practical examples:

1. Cluster: A group of machines (nodes) that run containerized applications.

Example: A cluster consists of 3 nodes: node1, node2, and node3.

2. Node: A machine (physical or virtual) in a Kubernetes cluster.

Image description

3. Pod: A pod is the smallest deployable unit in Kubernetes and not containers.

In Laymen terms think Pod is like a home and rooms are containers

Example: A Pod named "my-app" runs 2 containers: "app" and "db". so "my-app" is a home and "app" and "db" are each different rooms i.e two different containers.

Image description

4. Container: A lightweight and portable way to package applications.

Example: The "app" container runs a web server.

5. Deployment: A way to manage rollouts and rollbacks of Pods.

Example: A Deployment named "my-app" manages 3 replicas of the "my-app" Pod.

In Kubernetes, Deployment ensures that your application ("my-app") is always running with 3 instances (replicas), and handles updates and failures automatically!

By default replicas will have horizontal scaling.

6. ReplicaSet: Ensures a specified number of replicas (Pods) are running at any given time.

Example: A ReplicaSet named "my-app" ensures 3 replicas of the "my-app" Pod.

7. Service: Provides a network identity and load balancing for accessing Pods.

Example: A Service named "my-app" exposes the "my-app" Pod on port 80.

If it still not make sense to you let's understand in laymen's terms

Try to visualize imagine you have a lemonade stand (Pod) called "my-app", but it's located in a busy market (cluster) with many other stands.

You want customers to easily find and access your stand, without having to know its exact location.

A Service named "my-app" is like a signboard that points to your lemonade stand.

It provides a easy-to-remember name ("my-app") and a clear direction (port 80) for customers to find your stand.

Here's what the signboard (Service) does:

Gives your stand a name ("my-app") that's easy to remember
Directs customers to your stand on a specific path (port 80)
If you have multiple stands (Pods) with the same name, the signboard will distribute customers evenly among them (load balancing)

In Kubernetes, a Service provides a network identity and load balancing for accessing Pods, making it easy for users to access your application without knowing the Pod's location or details!

8. Persistent Volume (PV): A storage resource that persists data beyond Pod lifetimes.

Example: A PV named "data" stores data for the "db" container.

Think of it like an external hard drive.

9. Persistent Volume Claim (PVC): Requests storage resources from a PV.

Example: A PVC named "data-claim" requests 1GB of storage from the "data" PV.

Think of it like asking for space on the external hard drive.

10. Namespace: A logical partitioning of resources and objects in a cluster.

Example: A Namespace named "dev" contains the "my-app" Deployment.

Why we need Namespace?

Namespaces help:

  • Keep resources organized and separated
  • Avoid naming conflicts between resources
  • Control access and permissions to resources

11. ConfigMap: A way to store configuration data as key-value pairs.

Example: A ConfigMap named "app-config" stores database credentials.

Think of it like a sticky note with important info.

12. Secret: A way to store sensitive data like passwords or API keys.

Example: A Secret named "db-password" stores the database password.

Think of it like a locked box with confidential info.

15. Ingress: A way to expose Services to external traffic.

Example: An Ingress named "my-app" exposes the "my-app" Service to the internet.

Think of it like a sign on the highway pointing to your lemonade stand.

17. Kubectl: The command-line tool for interacting with Kubernetes.

Example: kubectl get pods shows the list of running Pods.

Think of it like a remote control for your Kubernetes cluster.

18. Kube-Proxy: It's a network proxy that runs on each Node in a Kubernetes Cluster.

Its main purpose is to manage communication between Pods and the outside world.

Hope you like it!!

Top comments (0)