What you will be able to explain
- Explain what Kubernetes does and why teams use it.
- Understand desired state, recovery, and scaling.
- Recognize the benefits and operational tradeoffs.
Before you start: a basic understanding of containers is enough. No installation is needed for this introduction.
A brief history of Kubernetes
Google open-sourced Kubernetes in 2014, drawing on experience with its internal Borg system. In 2015, Kubernetes became a founding project of the Cloud Native Computing Foundation (CNCF). Today it is developed by an open-source community.
Source: Google Open SourceWhat is Kubernetes?
Kubernetes is an open-source platform for running containerized applications across a group of machines called a cluster. It coordinates where workloads run, how many copies exist, and how they recover from failures. This coordination is called orchestration.
Deliver changes with confidence
Fast delivery matters only when the service remains reliable. Rather than patching a running container, build a new image and deploy that version. Keeping versioned images and configuration makes changes easier to review, reproduce, and roll back. Rolling updates replace application copies gradually; availability still depends on capacity, health checks, and application design.
Describe the desired state
With declarative configuration, you describe the result you want. For example, replicas: 3 asks for three application copies. Kubernetes controllers compare that target with the observed state and work to close the gap. This continuous process is called reconciliation.
Recover and scale
Imagine a course website with three replicas. If a managed Pod, the unit that groups containers, is deleted, its controller requests a replacement. If demand grows, you can increase the replica count or configure autoscaling. Recovery and scaling need available resources; Kubernetes cannot fix application bugs or create unlimited capacity.
Separate applications from infrastructure
A shared API lets teams describe workloads consistently on local machines, in a data center, or in the cloud. Application teams focus on their services while platform teams manage the cluster. Clear service APIs also help teams develop and scale components independently. Storage, networking, and cloud integrations still differ between environments, so portability requires planning.
Use resources and the ecosystem well
Several workloads can share machines, reducing unused capacity when resource requests and limits are configured appropriately. Temporary test environments can be created and removed as needed. The cloud-native ecosystem adds tools for monitoring, deployment, networking, and security. Choose tools for a concrete need; Kubernetes does not supply every operational capability by itself.
When is it worth using?
Kubernetes is useful when repeatable deployments, recovery, and scaling across services justify the operational work. A small application may be simpler to run on a virtual machine or a managed application platform. The decision should follow the workload and the team’s capacity, not the popularity of the technology.
Sources and further reading
The explanations and exercises are original. Use the official references to inspect the concepts in more detail.