Civica Training Program

Introduction to Kubernetes

From containers to orchestration — the full story

Presentation 1 of 8  |  CKA + CKAD Certification Track

Imagine This Scenario...

You just joined a company that deploys 50 microservices across a dozen servers. The deployment process? A shared wiki page with 47 steps, half of them outdated. Last Friday, someone deployed the payment service to the wrong server, and the whole checkout flow went down for two hours.

Your team lead looks at you and says: "We need to fix this. I've heard about this thing called Kubernetes..."

By the end of this presentation, you'll understand exactly why Kubernetes is the answer to this problem — and how it works under the hood.

Roadmap

What We'll Cover Today

We'll follow the journey from "why do we need this?" to "how does it all fit together?"

Part 1: The Problem

  • Why manual deployments fail at scale
  • Containers vs Virtual Machines
  • The Docker revolution

Part 2: Enter Kubernetes

  • What K8s is and where it came from
  • Architecture: control plane + workers
  • Pods, kubectl, and your first commands

Part 3: The Ecosystem

  • Kubernetes in the cloud (AKS focus)
  • K8s vs alternatives
  • CKA and CKAD exam overview

Part 4: Interactive

  • 4 quiz checkpoints throughout
  • Key takeaways
  • Q&A session
The Problem

The Pain of Manual Deployments

Think about the last time you deployed software manually. You SSH into a server, pull the latest code, restart the service, and hope nothing breaks. Now multiply that by 50 services, across 12 servers, with 5 developers all deploying at different times.

What Goes Wrong

  • "It works on my machine" syndrome
  • Environment drift between dev, staging, prod
  • No automatic recovery when services crash
  • Scaling means buying and configuring new servers
  • Deployments are scary, so they happen less often

What We Actually Need

  • Consistent environments everywhere
  • Automated deployment and rollback
  • Self-healing when things fail
  • Scale up/down based on demand
  • Deployments should be boring and routine
Foundation

Containers vs Virtual Machines

To understand Kubernetes, we first need to understand what it orchestrates. Let's compare the two main approaches to isolating applications.

AspectVirtual MachineContainer
What it isFull OS running on a hypervisorIsolated process sharing the host OS kernel
Boot timeMinutesSeconds (or less)
SizeGigabytes (full OS image)Megabytes (just app + dependencies)
Resource overheadHigh — each VM runs its own kernelLow — shares the host kernel
IsolationStrong — hardware-levelGood — process-level via namespaces/cgroups
Density~10-20 per host~100s per host
PortabilityLess portable (hypervisor-dependent)Highly portable (runs anywhere with a container runtime)

Containers won because they gave us VM-like isolation at a fraction of the cost. But they created a new problem: how do you manage hundreds of them?

The Container Revolution

What is Docker?

Now that we see why containers matter, let's talk about the tool that made them mainstream.

In 2013, Solomon Hykes demoed Docker at a PyCon lightning talk. In just 5 minutes, he showed how any application could be packaged into a lightweight, portable container. The audience went wild. Within a year, every major tech company was adopting Docker.

What Docker Gave Us

  • Dockerfile — a recipe to build your app image
  • Docker Image — an immutable snapshot of your app
  • Docker Container — a running instance of an image
  • Docker Hub — a public registry to share images

The Build-Ship-Run Model

# A simple Dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]

This file guarantees the app runs the same way everywhere — your laptop, CI server, staging, production. The "works on my machine" problem is solved.

Checkpoint

Quiz 1: Container Basics

Let's make sure we have the foundations solid before moving on to Kubernetes.

1. What is the primary advantage of containers over virtual machines?

a) Containers provide stronger security isolation
b) Containers share the host OS kernel, making them lighter and faster to start
c) Containers can run Windows apps on Linux hosts
d) Containers don't require any configuration
Answer: B. Containers share the host operating system's kernel, which means they don't need to boot an entire OS. This makes them much smaller (MBs vs GBs) and faster to start (seconds vs minutes) compared to VMs.

2. A Dockerfile is best described as:

a) A running instance of an application
b) A virtual machine configuration file
c) A set of instructions to build a container image
d) A Kubernetes deployment manifest
Answer: C. A Dockerfile is a text file containing step-by-step instructions (FROM, COPY, RUN, etc.) that Docker uses to build an image. The image is then used to create running containers.

3. What Linux kernel features enable container isolation?

a) Hypervisors and virtual NICs
b) Namespaces and cgroups
c) SELinux and AppArmor only
d) iptables and systemd
Answer: B. Linux namespaces provide process isolation (PID, network, mount, etc.), while cgroups (control groups) limit and account for resource usage (CPU, memory, I/O). Together, they form the foundation of container technology.
The Hero Arrives

What is Kubernetes?

Now that we understand containers, let's meet the system that manages them at scale.

By 2014, companies were running thousands of containers. Docker was great at running one container, but who decides which server runs which container? What happens when a server crashes? How do you scale from 3 containers to 300? Someone needed to be the conductor of this orchestra.

Kubernetes (K8s) is a container orchestration platform that:

  • Schedules containers across a cluster of machines
  • Self-heals by restarting or replacing failed containers
  • Scales workloads up and down automatically
  • Manages networking so containers can find and talk to each other
  • Handles rolling updates with zero-downtime deployments

The name "Kubernetes" comes from the Greek word for "helmsman" or "pilot" — the person who steers the ship. The abbreviation "K8s" replaces the 8 letters between K and s.

Origin Story

From Google's Secret Weapon to Open Source

Every superhero has an origin story. Kubernetes is no different.

The Timeline

  • 2003-2004: Google builds Borg, an internal cluster manager that runs everything from Gmail to Search
  • 2006: Google publishes the "Borg, Omega, and Kubernetes" research
  • 2014: Google open-sources Kubernetes, built on 15 years of Borg lessons
  • 2015: K8s v1.0 released; Google donates it to the newly formed CNCF
  • 2018: K8s becomes the first CNCF graduated project
  • Today: The most widely adopted container orchestrator in the world

Why Open Source Mattered

By open-sourcing Kubernetes, Google did something strategic and generous at the same time. They gave the world a platform that:

  • Prevented any single cloud vendor from owning the container story
  • Created a massive community of contributors
  • Established a vendor-neutral standard for orchestration

Fun fact: Google runs over 4 billion containers per week using Borg. Kubernetes brings that expertise to everyone.

Industry Adoption

Why Everyone is Adopting Kubernetes

Let's look at the numbers that tell the story of K8s adoption.

96%
of organizations using or evaluating K8s (CNCF Survey 2023)
5.6M+
developers using Kubernetes worldwide
150+
certified K8s service providers globally

Who's Using K8s?

  • Spotify — manages 2,000+ microservices
  • Airbnb — migrated entire platform to K8s
  • The New York Times — runs on GKE
  • Adidas — e-commerce runs on K8s
  • CERN — particle physics data processing

Why They Chose K8s

  • Cloud-agnostic: runs on AWS, Azure, GCP, on-prem
  • Massive ecosystem of tools and integrations
  • Active community with rapid innovation
  • Declarative configuration (infrastructure as code)
  • Battle-tested at planet scale by Google
Cloud Native

Kubernetes in the Cloud

You don't have to build a cluster from scratch. Every major cloud provider offers a managed Kubernetes service.

Azure AKS

Azure Kubernetes Service

  • Free control plane
  • Deep Azure integration (AD, Monitor, ACR)
  • Our focus for this training

AWS EKS

Elastic Kubernetes Service

  • $0.10/hr per cluster
  • Fargate integration
  • Largest market share

Google GKE

Google Kubernetes Engine

  • Autopilot mode
  • Built by the K8s creators
  • Strongest K8s feature parity

Why managed? Running your own K8s control plane is like owning a restaurant and also being the plumber. Managed services handle the infrastructure so you can focus on deploying your applications.

Core Value

The Benefits That Sold the World on K8s

Let's connect each benefit back to the deployment nightmare we started with.

Self-Healing

A container crashes at 3 AM? K8s detects it and automatically restarts it. No pager alerts, no manual intervention. Remember our story — the payment service going down? K8s would have restarted it in seconds.

Auto-Scaling

Black Friday traffic spike? K8s scales your pods from 3 to 30 based on CPU/memory usage. When traffic drops, it scales back down. You pay only for what you use.

Rolling Updates

Deploy a new version while the old one is still serving traffic. If the new version fails health checks, K8s automatically rolls back. Zero-downtime deployments become the default, not the exception.

Service Discovery

Containers need to find each other. K8s provides built-in DNS so services can communicate by name, not IP address. No more hardcoding server addresses in config files.

Checkpoint

Quiz 2: Kubernetes Basics

Great progress! Let's test what we've learned about Kubernetes before diving into its architecture.

1. Kubernetes was originally based on which Google internal system?

a) Google App Engine
b) Google Cloud Functions
c) Borg
d) MapReduce
Answer: C. Kubernetes was directly inspired by Borg, Google's internal cluster management system that has been running production workloads since the early 2000s. Many of K8s' core concepts (pods, labels, services) trace back to Borg.

2. What does "self-healing" mean in the Kubernetes context?

a) K8s automatically fixes bugs in your application code
b) K8s restarts failed containers and replaces unresponsive ones
c) K8s patches its own security vulnerabilities
d) K8s automatically scales the cluster hardware
Answer: B. Self-healing means Kubernetes continuously monitors containers and automatically restarts those that fail, replaces ones that don't respond to health checks, and reschedules pods when nodes die. It doesn't fix application logic bugs.

3. Which organization governs the Kubernetes project?

a) Google Cloud
b) The Linux Foundation directly
c) The Apache Software Foundation
d) The Cloud Native Computing Foundation (CNCF)
Answer: D. Google donated Kubernetes to the Cloud Native Computing Foundation (CNCF) in 2015. CNCF is part of the Linux Foundation and provides vendor-neutral governance. K8s was the first project to graduate from CNCF in 2018.
Architecture

The Big Picture: Cluster Architecture

Now that we know what K8s does, let's open the hood and see how it's built. Think of a K8s cluster as a team with clear roles.

+-----------------------------------------------------------+ | KUBERNETES CLUSTER | | | | +------------------+ +---------------------------+ | | | CONTROL PLANE | | WORKER NODE(s) | | | | (the brain) | | (the muscle) | | | | | | | | | | API Server | | kubelet | | | | etcd | | kube-proxy | | | | Scheduler | | Container Runtime | | | | Controller Mgr | | [Pod] [Pod] [Pod] | | | +------------------+ +---------------------------+ | +-----------------------------------------------------------+

Control Plane (The Brain)

Makes all the decisions: where to place pods, how to respond to failures, what the desired state should be. You talk to the control plane; it talks to the workers.

Worker Nodes (The Muscle)

Actually run your application containers. Each worker node has an agent (kubelet) that takes orders from the control plane and reports back on status.

Control Plane

Inside the Control Plane

Let's meet each component. Think of the control plane as the management team of a company.

API Server (kube-apiserver)

The Front Door. Every request — from kubectl, the dashboard, or other components — goes through the API Server. It validates requests, authenticates users, and is the only component that talks to etcd.

etcd

The Memory. A distributed key-value store that holds all cluster state. Every pod, service, config, and secret is stored here. If etcd is lost and there's no backup, the entire cluster state is gone.

Scheduler (kube-scheduler)

The Matchmaker. When a new pod needs a home, the Scheduler evaluates available nodes based on resources, affinity rules, and constraints, then assigns the pod to the best-fit node.

Controller Manager

The Enforcer. Runs control loops that continuously compare the actual state with the desired state. If you said "I want 3 replicas" and one dies, the controller creates a new one.

Worker Nodes

Inside a Worker Node

The control plane makes decisions, but worker nodes do the actual work. Each worker has three key components.

kubelet

The Node Agent. Runs on every worker node. It receives pod specifications from the API Server and ensures the containers described in those specs are running and healthy.

Think of kubelet as a site manager who takes blueprints from HQ and makes sure the building gets built correctly.

kube-proxy

The Network Plumber. Maintains network rules on each node that allow pods to communicate with each other and with the outside world. Handles load balancing for Services.

Without kube-proxy, your pods would be isolated islands with no way to reach each other.

Container Runtime

The Engine. The software that actually runs containers. K8s supports any runtime that implements the Container Runtime Interface (CRI).

containerd is the default. Docker (dockershim) was removed in K8s 1.24. CRI-O is another popular option.

Core Concept

The Declarative Model: Tell K8s WHAT, Not HOW

This is the single most important concept in Kubernetes. It changes how you think about infrastructure.

Imperative (Traditional)

"Step 1: SSH into server-3. Step 2: Pull the latest image. Step 3: Stop the old container. Step 4: Start the new one. Step 5: Check if it's healthy..."

You tell the system HOW to do every step. If something fails halfway through, you're left in a broken state.

Declarative (Kubernetes)

"I want 3 replicas of my-app:v2, each with 256MB RAM, exposed on port 80." K8s figures out the rest.

You tell the system WHAT you want. K8s continuously works to make reality match your declaration.

# You declare this:              # K8s does all of this:
apiVersion: apps/v1               - Finds nodes with enough resources
kind: Deployment                   - Pulls the container image
metadata:                          - Starts 3 pods across nodes
  name: my-app                     - Sets up networking
spec:                              - Monitors health continuously
  replicas: 3                      - Restarts any pod that fails
  ...                              - Maintains 3 replicas forever
Checkpoint

Quiz 3: Architecture

We've covered the cluster architecture. Let's make sure the key components are clear.

1. Which component is the single source of truth for all cluster state?

a) etcd
b) API Server
c) Controller Manager
d) kubelet
Answer: A. etcd is a distributed key-value store that holds all cluster data — every pod, service, config map, and secret. The API Server is the only component that communicates directly with etcd, but etcd is the actual storage layer.

2. What does the kube-scheduler do?

a) Runs containers on worker nodes
b) Manages network rules for pod communication
c) Assigns newly created pods to suitable worker nodes
d) Stores cluster state in a key-value store
Answer: C. The Scheduler watches for newly created pods that have no node assigned and selects the best node for them to run on, based on resource requirements, affinity/anti-affinity rules, taints, tolerations, and other constraints.

3. In the declarative model, what is Kubernetes continuously doing?

a) Waiting for explicit commands from administrators
b) Comparing actual state with desired state and reconciling differences
c) Running scheduled cron jobs to check container health
d) Polling Docker Hub for new image versions
Answer: B. The core of K8s is the reconciliation loop. Controllers continuously compare the current state of the cluster with the desired state (as declared in manifests) and take action to close any gaps. This is why it's called a "declarative" system.
Core Object

Pods: The Smallest Unit in Kubernetes

Now that we understand the cluster architecture, let's zoom in on the most fundamental object you'll work with.

Imagine you're moving to a new apartment. A container is like a single box with all your kitchen stuff. A Pod is the apartment unit itself — it can hold one or more boxes (containers) that need to share the same space (network, storage).

Key Pod Facts

  • A Pod is the smallest deployable unit in K8s
  • Usually contains one container (one app per pod)
  • All containers in a pod share the same IP address and storage volumes
  • Pods are ephemeral — designed to be created, destroyed, and replaced
  • You rarely create pods directly; you use Deployments

A Simple Pod Manifest

apiVersion: v1
kind: Pod
metadata:
  name: my-app
  labels:
    app: my-app
spec:
  containers:
  - name: my-app
    image: nginx:1.25
    ports:
    - containerPort: 80
    resources:
      requests:
        memory: "64Mi"
        cpu: "250m"
      limits:
        memory: "128Mi"
        cpu: "500m"
Scheduling

Where Do Pods Run?

You've defined a pod. But which node will it land on? Here's how the scheduling dance works.

You submit a Pod --> API Server stores it in etcd --> Scheduler picks a node | v kubelet on that node <-- Binding recorded in etcd | v Container Runtime starts the container(s)

How the Scheduler Decides

  • Filtering: Eliminate nodes that don't meet requirements (not enough CPU, wrong labels, taints)
  • Scoring: Rank remaining nodes by preference (spread pods evenly, prefer nodes with the image cached)
  • Binding: Assign the pod to the highest-scoring node

You Can Influence Scheduling

  • nodeSelector: "Run only on nodes labeled gpu=true"
  • Affinity: "Prefer nodes in zone-a"
  • Anti-affinity: "Don't put two replicas on the same node"
  • Taints & Tolerations: "This node is reserved for team-X"
Patterns

Multi-Container Pods: The Sidecar Pattern

Most pods have one container. But sometimes, your app needs a helper. That's where multi-container patterns shine.

Why Multiple Containers in One Pod?

Imagine a web server that needs its logs shipped to a central logging system. You could build log shipping into the app, or you could add a sidecar container that reads the log files and forwards them. The app stays simple; the sidecar handles the cross-cutting concern.

Common Patterns

  • Sidecar: Enhances the main container (log shipper, proxy)
  • Ambassador: Proxies network connections (DB proxy)
  • Adapter: Standardizes output (metrics format converter)
  • Init Container: Runs setup tasks before the main container starts

Sidecar Example

apiVersion: v1
kind: Pod
metadata:
  name: web-with-logging
spec:
  containers:
  - name: web-server
    image: nginx:1.25
    volumeMounts:
    - name: logs
      mountPath: /var/log/nginx

  - name: log-shipper
    image: fluentd:latest
    volumeMounts:
    - name: logs
      mountPath: /var/log/nginx
      readOnly: true

  volumes:
  - name: logs
    emptyDir: {}
Getting Started

Running Kubernetes: Your Options

Now that we understand the theory, let's talk about how you'll actually run Kubernetes in practice.

Local Development

Perfect for learning and testing

  • minikube — single-node cluster in a VM or container; most popular for learning
  • kind (Kubernetes in Docker) — runs K8s nodes as Docker containers; great for CI
  • k3s — lightweight K8s distribution by Rancher; ideal for edge/IoT
  • Docker Desktop — built-in K8s option; one checkbox to enable

Production / Cloud

What you'll use at work

  • Azure AKS — our focus; free control plane, pay for worker nodes
  • AWS EKS — managed K8s with deep AWS integration
  • Google GKE — most mature managed offering
  • kubeadm — bootstrap your own cluster on bare metal or VMs

For this training, we'll use AKS for cloud exercises and minikube/kind for local practice.

Azure Focus

Azure Kubernetes Service (AKS)

Since Civica uses Azure, let's take a closer look at AKS — the managed Kubernetes service we'll use throughout this training.

What AKS Manages For You

  • Control plane provisioning and upgrades
  • etcd management and backups
  • API Server availability and scaling
  • Security patching of the Kubernetes components
  • Integration with Azure Active Directory for RBAC
  • Azure Monitor and Log Analytics integration

What You Manage

  • Worker node sizing and scaling
  • Application deployments and configurations
  • Networking policies and ingress
  • Container image security

Create an AKS Cluster

# Create a resource group
az group create \
  --name myResourceGroup \
  --location uksouth

# Create an AKS cluster
az aks create \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --node-count 3 \
  --node-vm-size Standard_DS2_v2 \
  --generate-ssh-keys

# Get credentials
az aks get-credentials \
  --resource-group myResourceGroup \
  --name myAKSCluster

# Verify connection
kubectl get nodes
Essential Tool

kubectl: Your Command Line to K8s

Every interaction with a Kubernetes cluster starts with kubectl (pronounced "kube-control" or "kube-cuddle" — the community disagrees).

The Pattern

kubectl [command] [resource] [name] [flags]

Essential Commands

# View cluster info
kubectl cluster-info
kubectl get nodes

# Work with pods
kubectl get pods
kubectl get pods -o wide
kubectl describe pod my-app
kubectl logs my-app

# Create resources
kubectl apply -f deployment.yaml
kubectl create namespace dev

# Delete resources
kubectl delete pod my-app
kubectl delete -f deployment.yaml

Pro Tips

  • Set up autocompletion: source <(kubectl completion bash)
  • Use aliases: alias k=kubectl
  • Use -o wide for extra details (node, IP)
  • Use -o yaml to see the full object spec
  • Use --dry-run=client -o yaml to generate manifests
  • Use kubectl explain to explore API resources

CKA/CKAD exam tip: You'll spend the entire exam in a terminal with kubectl. Speed with this tool directly translates to exam performance. Practice until the commands are muscle memory.

Checkpoint

Quiz 4: Pods and Tools

Almost done! Let's check our understanding of pods and the tools we'll use daily.

1. What is the smallest deployable unit in Kubernetes?

a) Container
b) Pod
c) Deployment
d) Node
Answer: B. The Pod is the smallest deployable unit in K8s, not the container. A pod wraps one or more containers that share networking (same IP) and storage. You don't deploy individual containers to K8s; you deploy pods.

2. In a sidecar pattern, what is the purpose of the additional container?

a) To replace the main container if it crashes
b) To run a completely separate application
c) To provide supporting functionality (logging, proxying, etc.) to the main container
d) To serve as a backup copy of the main container
Answer: C. A sidecar container enhances or extends the main container's functionality without modifying it. Common examples include log shippers, monitoring agents, and network proxies. Both containers share the pod's network and storage.

3. Which kubectl command shows detailed information about a specific pod including events?

a) kubectl describe pod <name>
b) kubectl get pod <name> -o wide
c) kubectl logs <name>
d) kubectl inspect pod <name>
Answer: A. kubectl describe shows comprehensive details about a resource including metadata, spec, status, conditions, and events. Events are especially useful for debugging (e.g., image pull errors, scheduling failures). Note: there is no kubectl inspect command.
Landscape

Kubernetes vs the Alternatives

K8s isn't the only orchestrator out there. Let's understand why it won and when alternatives make sense.

FeatureKubernetesDocker SwarmHashiCorp Nomad
ComplexityHigh learning curveSimple, quick setupModerate
ScalabilityThousands of nodesHundreds of nodesThousands of nodes
CommunityMassive (CNCF ecosystem)DecliningGrowing
WorkloadsContainers onlyContainers onlyContainers, VMs, bare-metal
Auto-scalingBuilt-in (HPA, VPA, Cluster)ManualExternal (Autoscaler plugin)
Service meshIstio, Linkerd, etc.LimitedConsul Connect
Cloud supportAll major clouds (AKS, EKS, GKE)LimitedSelf-managed primarily
Best forLarge-scale microservicesSmall, simple setupsMulti-workload environments

Docker Swarm was simpler but lost the market. Nomad is excellent for mixed workloads. For most organizations in 2024+, Kubernetes is the industry standard.

Certification

CKA: Certified Kubernetes Administrator

One of the goals of this training is to prepare you for the CKA exam. Here's what you're signing up for.

Exam Format

  • Duration: 2 hours
  • Format: Performance-based (hands-on in a real terminal)
  • Questions: 15-20 tasks
  • Passing score: 66%
  • Cost: $395 USD (includes one free retake)
  • Validity: 3 years

Domain Weights

  • Cluster Architecture (25%) — Presentation 2
  • Workloads & Scheduling (15%) — Presentation 3
  • Services & Networking (20%) — Presentation 4
  • Storage (10%) — Presentation 5
  • Troubleshooting (30%) — Presentation 7

Key insight: The CKA is a hands-on exam. You won't answer multiple-choice questions — you'll fix broken clusters, create deployments, and troubleshoot real issues in a live environment. Practice, practice, practice.

Certification

CKAD: Certified Kubernetes Application Developer

While CKA focuses on cluster administration, CKAD is about building and deploying applications on Kubernetes.

Exam Format

  • Duration: 2 hours
  • Format: Performance-based (same as CKA)
  • Questions: 15-20 tasks
  • Passing score: 66%
  • Cost: $395 USD (includes one free retake)
  • Focus: Application lifecycle, not cluster management

Domain Weights

  • Application Design & Build (20%)
  • Application Deployment (20%)
  • Application Observability & Maintenance (15%)
  • Application Environment, Config & Security (25%)
  • Services & Networking (20%)

CKA vs CKAD: Which First?

If you're a DevOps/Platform engineer, start with CKA. If you're an application developer, start with CKAD. Both are valuable, and there's significant overlap. This training covers content for both.

What's Next

Course Roadmap: Your Learning Journey

Today was just the beginning. Here's the full path from Kubernetes novice to certified professional.

  1. Introduction to Kubernetes (Today)
  2. Cluster Architecture & Configuration — CKA 25%
  3. Workloads & Scheduling — CKA 15%
  4. Services & Networking — CKA 20%
  1. Storage in Kubernetes — CKA 10%
  2. Security & RBAC — Cross-cutting
  3. Troubleshooting — CKA 30%
  4. Exam Preparation & Practice — CKA + CKAD

Next session: We'll dive deep into cluster architecture — understanding exactly how each control plane component works, how to bootstrap a cluster with kubeadm, RBAC, networking, and more. If today was "what is K8s," next time is "how does K8s really work."

Summary

Key Takeaways

Let's bring our story full circle. Remember our developer with 50 microservices and a 47-step wiki page?

What We Learned

  1. Containers solve the "works on my machine" problem by packaging apps with their dependencies
  2. Kubernetes solves the "who manages all these containers" problem with automated orchestration
  3. The control plane (API Server, etcd, Scheduler, Controller Manager) makes decisions
  4. Worker nodes (kubelet, kube-proxy, container runtime) execute those decisions
  5. Pods are the smallest unit — they wrap containers with shared networking and storage
  6. Declarative model: tell K8s what you want, it figures out how

The Story So Far

Our developer now has a plan: containerize each microservice with Docker, deploy them to an AKS cluster, let Kubernetes handle scheduling, scaling, and recovery. That 47-step wiki? Replaced by a set of YAML manifests and kubectl apply.

The deployment that used to take a nerve-wracking afternoon now takes 30 seconds and happens 10 times a day.

Interactive

Questions & Discussion

We've covered a lot of ground today. What questions do you have about containers, Kubernetes, or the certification path?

Concepts

Containers, K8s architecture, pods, declarative model

Hands-On

kubectl, AKS, minikube, local setup

Certification

CKA, CKAD, study strategy, exam tips

Presentation 1 of 8  |  Next: Cluster Architecture, Installation & Configuration

← Back