Contents
Roadmap info from roadmap website
Key Concepts Terminologies
Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications. Here are some important concepts and terminologies in Kubernetes:
- Cluster Architecture: The architectural concepts behind Kubernetes.
- Containers: Technology for packaging an application along with its runtime dependencies.
- Workloads: Understand Pods, the smallest deployable compute object in Kubernetes, and the higher-level abstractions that help you to run them.
- Services, Load Balancing, and Networking: Concepts and resources behind networking in Kubernetes.
- Storage: Ways to provide both long-term and temporary storage to Pods in your cluster.
- Configuration: Resources that Kubernetes provides for configuring Pods.
- Cluster Administration: Lower-level detail relevant to creating or administering a Kubernetes cluster.
Resources
- @official@Concepts of Kubernetes
- @video@What Is Kubernetes?
- @video@Kubernetes Explained by Experts in 2 Minutes
- @article@Understand Kubernetes terminology
Concepts comparison with docker
Kubernetes Concepts | Docker Equivalent Concepts | Description |
---|---|---|
Cluster Architecture | Docker Host / Swarm Mode | In Kubernetes, a cluster consists of multiple nodes (worker and master nodes), whereas Docker can either run containers on a single host or use Docker Swarm for cluster management. |
Node | Docker Host | A node in Kubernetes is a physical or virtual machine in the cluster, much like a Docker host. |
Pod | Container | A pod in Kubernetes is the smallest deployable unit, typically running one or more containers (usually Docker containers). Docker operates with containers directly. |
ReplicaSet / Deployment | Docker Compose / Docker Swarm Service | A Kubernetes ReplicaSet or Deployment manages the lifecycle of Pods and ensures that a defined number of them are running. In Docker, Compose defines multi-container apps and Swarm services handle orchestration. |
Services | Docker Networking + Docker Swarm Services | Kubernetes services expose Pods (containers) via networking and load balancing. In Docker, containers use networks, and in Swarm, services manage network routing and discovery. |
Load Balancing | Docker Load Balancing / Routing Mesh in Swarm | Kubernetes provides built-in load balancing for services, similar to Dockerβs routing mesh in Swarm for distributing requests across multiple containers. |
Ingress | Docker HTTP Routing / Nginx with Docker | Kubernetes uses Ingress to manage external access to services, typically HTTP/HTTPS routing, similar to how Docker uses HTTP routing setups with reverse proxies like Nginx. |
Persistent Volume (PV) | Docker Volumes | Kubernetes Persistent Volumes (PV) provide storage for Pods, similar to Docker Volumes that persist data outside of the container lifecycle. |
Persistent Volume Claim (PVC) | Volume Mounting in Docker | A PVC in Kubernetes is a request for storage (from PVs), while in Docker, storage is requested through volume mounting. |
ConfigMap | Docker Environment Variables / Docker Compose Env | Kubernetes ConfigMaps are used to pass configuration data to Pods, similar to Dockerβs environment variables or .env files in Compose. |
Secret | Docker Secrets | Kubernetes Secrets store sensitive information like passwords, much like Docker Secrets in Swarm Mode. |
Horizontal Pod Autoscaler (HPA) | Docker Swarm Autoscaling (Manual) | Kubernetes supports autoscaling of Pods based on resource usage, whereas Docker Swarm requires manual configuration for scaling containers. |
DaemonSet | Docker Container on Every Node | A DaemonSet ensures that a copy of a Pod runs on all (or some) Nodes in Kubernetes, similar to how you might run a container on every node in Docker manually. |
StatefulSet | Docker Compose Stateful Services / Custom | Kubernetes StatefulSets handle stateful applications with stable network identities, which Docker requires manual setup |
Job | Docker Compose Jobs | Kubernetes Jobs are a type of Pod that manage a defined number of containers. |
CronJob | Docker Compose Cron Jobs | Kubernetes CronJobs are a type of Job that manage a defined number of containers. |
Service | Docker Service | Kubernetes Services are containers that are managed by a Service in Kubernetes. |