Skip to content

Init (The Mental Model)

Phase 1: The Core Infrastructure (The "Where") → Architecture

QuestionReason & Expectation
1. Where do I run my app vs where are decisions made? (Nodes vs Control Plane)Concept: Cluster Architecture.
Expectation: Understand that the Control Plane is the "Brain" (API Server, Scheduler, Controller Manager) that makes decisions, while Worker Nodes are the "Muscle" where applications actually run.
2. Where does kubectl look for access credentials? (Auth: kubeconfig)Concept: Authentication & Access.
Expectation: Learn that kubectl needs a specific file to know which cluster to talk to and how to authenticate against the API server.
3. Where can I isolate my team's resources? (Isolation: Namespaces)Concept: Logical Isolation.
Expectation: Understand how to organize a single physical cluster into multiple virtual clusters (e.g., separating "dev" from "prod" or isolating different teams).

Phase 2: Workloads (The "Who") → Applications

QuestionReason & Expectation
4. Who actually runs my container? (The Pod)Concept: Atomic Unit.
Expectation: Understand that a Pod is the smallest deployable unit in K8s. It acts as a "wrapper" that can hold one or more containers that share storage and network IPs.
5. Who restarts me if I die? (Self-Healing)Concept: Self-Healing.
Expectation: Discover that Pods are ephemeral (mortal). If they die, they are gone. You need a higher-level controller (like a Deployment) to restart them.
6. Who manages my updates? (Deployment vs ReplicaSet)Concept: Scaling & Updates.
Expectation: Learn that the Deployment manages updates (rolling out new versions), while it asks the ReplicaSet to ensure the correct number (replicas) of Pods are running.
7. Who keeps my configuration history? (Rollbacks)Concept: Declarative State.
Expectation: Understand that because Deployments keep history, you can revert to a previous revision if a new image fails.

Phase 3: Networking (The "How") → Communication

QuestionReason & Expectation
8. How do my apps find each other if IPs change? (Service Discovery)Concept: Service Discovery.
Expectation: Introduction to the Service object. It provides a stable IP address and DNS name that sits in front of a dynamic set of Pods.
9. How do I expose my app to the world? (Service Types)Concept: Service Types.
Expectation:
1. ClusterIP: Internal only (default).
2. NodePort: Opens a port on every node (good for testing).
3. LoadBalancer: Requests a cloud provider's external load balancer (for public access).
10. How do I route traffic based on URL path? (Ingress)Concept: L7 Routing.
Expectation: Learn that Ingress acts as a "smart router" (HTTP/HTTPS) that can send traffic to different services based on the URL path (e.g., /app1 vs. /app2), whereas a LoadBalancer is just a simple door.
11. How do Pods talk across nodes? (CNI & The Network Model)Concept: Network Plumbing.
Expectation: Understand that K8s needs a plugin (like Calico or Cilium) to actually assign IPs to Pods and let them talk to each other.

Phase 4: Storage & Config (The "Data") → State

QuestionReason & Expectation
12. What is the difference between a ConfigMap and a Secret?Concept: Configuration Management.
Expectation: Both store data, but Secrets are for sensitive info (passwords, keys) and are often obfuscated, while ConfigMaps are for plain settings.
13. If I delete a database Pod, do I lose the data?Concept: Persistence.
Expectation: Yes, unless you use Persistent Volumes. Learn the difference between ephemeral storage (temp) and persistent storage.
14. How does a Pod "ask" for storage? (PVC vs PV)Concept: Abstraction.
Expectation:
PVC (Claim): The Pod's "ticket" requesting 10GB of storage.
PV (Volume): The actual hard drive/storage resource.
StorageClass: The definition of what kind of drive to create.

Phase 5: Advanced & Extensibility (The "Magic") → Automation

QuestionReason & Expectation
15. What are CRDs (Custom Resource Definitions)?Concept: Extending the API.
Expectation: Understand that K8s can learn new "words." A CRD is just a blueprint (YAML) that lets you define your own object types (like KafkaCluster or KommanderCore).
16. What is an Operator/Controller?Concept: Automation.
Expectation: This is the "manager" that watches the CRD. If you create a CRD saying "I want a cluster," the Operator is the software that actually does the work to build it.
17. Why would I use Helm instead of plain YAML files?Concept: Package Management.
Expectation: Learn that Helm is like apt or yum for K8s. It packages multiple YAML files (Deployment + Service + Ingress) into one installable unit called a "Chart".
18. What does "GitOps" mean in Kubernetes?Concept: Continuous Deployment.
Expectation: Understand the workflow where the Git repository is the source of truth. An agent (like Flux) inside the cluster pulls changes from Git and applies them automatically.

Based on Kubernetes v1.35 (Timbernetes). Changelog.