Last week’s focus was on containers and how to get the fundamentals right.

This week is all about Kubernetes, what it is, and the handful of terms that form its foundation. Kubernetes has many moving parts, but some concepts will follow you through your entire journey.

Today, we'll break down those essentials so you can understand them in minutes, not hours.

What is Kubernetes?

Kubernetes is an open-source container orchestration platform that manages workloads and services at scale. It can run on anything from a single laptop to thousands of servers, making it highly versatile for modern cloud-native applications.

How It Works

At the core of Kubernetes, everything is a resource managed by a controller. Each resource has:

  • A specification – the desired state.
  • A controller – continuously compares the desired and actual state, then makes adjustments.
  • This ensures applications remain healthy, scalable, and resilient.

Why Use Kubernetes?

  • Run workloads across many machines.
  • Achieve self-healing deployments.
  • Automate operations (e.g., scaling, upgrades).
  • Extend functionality with DNS, TLS certificates, and load balancing.
  • Orchestrate dependent cloud services.

Key Objects to Know

  • Pod – The smallest deployable unit; usually one or more tightly coupled containers.
  • Deployment – Manages Pods, scaling, and rolling upgrades to ensure smooth updates.
  • Service – Provides a stable name and IP address for Pods (which frequently change). Types include ClusterIP, NodePort, and LoadBalancer.
  • Ingress – Routes external traffic into the cluster, acting like an NGINX config block for defining rules.

Putting It All Together

Deployments, Services, and Ingress work hand-in-hand. For example, when a Deployment is upgraded, traffic is gradually shifted to new Pods without downtime.

Having a solid grasp of these core concepts will make your Kubernetes journey much smoother.