Kubernetes
Kubernetes (K8s for short) is an open-source platform for orchestrating containers, originally created by Google and now developed under the umbrella of the CNCF foundation. It automates deploying, scaling, networking and self-healing of applications distributed across many servers, treating the whole set of machines as a single logical pool of compute resources.
How Kubernetes works
Kubernetes runs on a cluster made up of a control plane and worker nodes on which containers are executed. An administrator describes the desired state of the system in declarative files (usually YAML), and the platform continuously works to maintain it. The core concepts are:
- pod — the smallest deployable unit, grouping one or a few tightly coupled containers;
- deployment — a declaration of how many replicas of an application should run and how to update them;
- service — a stable access point that balances traffic across replicas;
- autoscaling — automatically adding and removing replicas depending on load.
When a node fails or a container stops responding, Kubernetes shifts the load and starts the missing replicas on its own, ensuring high availability.
Practical application
Kubernetes is the standard for running applications built on a microservice architecture and a cornerstone of modern DevOps practices. It excels where you must absorb variable traffic dynamically, run zero-downtime rollouts and keep a service alive across several locations at once. Bear in mind, however, that K8s brings significant operational complexity — for smaller projects, a simpler deployment on a VPS or a managed server is often the wiser choice than running your own cluster.
Powiązane pojęcia
Najczęstsze pytania
What is the difference between Kubernetes and Docker?
Docker is a containerization technology — it packages an application with its dependencies into a single container and runs it. Kubernetes operates one level up: it manages many containers (often built by Docker) spread across many servers, handling their scaling, availability and networking. They are complementary tools, not competitors.
Is Kubernetes needed in every project?
No. Kubernetes adds a lot of value for complex microservice systems that must scale dynamically and stay highly available. For a single application or a small website it is unnecessary overhead — a simpler deployment on a VPS or a managed server will be cheaper and easier to maintain.
