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