🔗 Prerequisite: Chapter 02 (Scheduling, affinity, taints) — ✅ you’ve mastered it!


Phase 1: Deployment Fundamentals

Learn what a Deployment is and how to create one.

  1. deployment-one.yml

    → Your first basic Deployment (replicas, pod template, labels).

  2. imperative-deployment.sh

    → Create Deployment via kubectl create deployment (CLI vs YAML).

  3. declarative-deployment.yaml

    → Full declarative YAML (best practice for GitOps).


Phase 2: Deployment Strategies & Updates

Control how updates roll out (rolling update, recreate, canary).

  1. deployment-with-strategy

    → Customize update strategy (RollingUpdate vs Recreate), maxSurge, maxUnavailable.

  2. deployment-different

    → Likely shows different update scenarios (e.g., image change, env update).


Phase 3: Advanced Scheduling in Deployments

Apply Chapter 02 concepts to Deployments (affinity, anti-affinity).

  1. deployment-using-affinity.yaml

    → Node affinity in Deployment (e.g., prefer SSD nodes).

  2. deployment-with-anti-affinity.yaml

    → Pod anti-affinity to spread replicas across nodes (critical for HA!).


Phase 4: Services & Networking

Expose Deployments internally/externally.