Skip to content

You are viewing a free preview of this lesson.

Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.

What is Kubernetes?

What is Kubernetes?

Kubernetes (often abbreviated K8s) is an open-source container orchestration platform originally developed by Google and donated to the Cloud Native Computing Foundation (CNCF) in 2014. It automates the deployment, scaling, and management of containerised applications, letting teams focus on writing software rather than babysitting servers.

The Problem Kubernetes Solves

Running a single Docker container on a laptop is straightforward. Running hundreds or thousands of containers reliably across many machines is a completely different challenge. Without orchestration you must manually decide which machine runs each container, handle restarts when containers crash, balance traffic across replicas, roll out new versions without downtime, and manage secrets and configuration. Kubernetes handles all of this for you.

Core Concepts at a Glance

Kubernetes groups related containers into pods, schedules pods onto worker nodes, and exposes them through services. Desired state is declared in YAML manifests, and Kubernetes continuously reconciles the actual state of the cluster towards that desired state. If a pod crashes, Kubernetes notices the drift and creates a replacement automatically.

A Brief History

Google ran containers internally with a system called Borg for many years. Kubernetes is the open-source distillation of those lessons. Version 1.0 was released in 2015, and the ecosystem has grown rapidly ever since. Today every major cloud provider offers a managed Kubernetes service — Amazon EKS, Google GKE, and Azure AKS — meaning you can run production Kubernetes without managing the control plane yourself.

Why Kubernetes Matters

# Check the Kubernetes version on your cluster
kubectl version --short

# List all nodes in the cluster
kubectl get nodes

# List all pods across all namespaces
kubectl get pods --all-namespaces

Kubernetes provides:

  • Self-healing — failed containers are restarted; unhealthy nodes are drained and replaced
  • Horizontal scaling — add more pod replicas with a single command or automatically based on CPU usage
  • Rolling updates — deploy new versions gradually without downtime
  • Service discovery and load balancing — pods find each other by name; traffic is distributed automatically
  • Secret and configuration management — inject sensitive data and environment-specific config without rebuilding images
  • Storage orchestration — automatically mount the storage backend of your choice

Kubernetes vs. Docker Compose

Docker Compose is excellent for running multi-container applications on a single machine during development. Kubernetes targets production multi-node clusters. Compose uses a single YAML file; Kubernetes separates concerns into distinct resource types (Deployment, Service, ConfigMap, etc.). Kubernetes adds health checks, autoscaling, role-based access control, and multi-tenancy features that Compose does not offer.

The Kubernetes Ecosystem

The CNCF landscape around Kubernetes includes tools for packaging (Helm), service meshes (Istio, Linkerd), observability (Prometheus, Grafana), and continuous delivery (Argo CD, Flux). Learning the core Kubernetes primitives first gives you a solid foundation for exploring these tools.

Kubernetes has become the de-facto standard for running containerised workloads in production. The rest of this course walks through each major primitive in depth, giving you the knowledge to deploy real applications confidently.