Appearance
Init (The Mental Model)
Phase 1: The Core Infrastructure (The "Where") → Architecture
| Question | Reason & 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
| Question | Reason & 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
| Question | Reason & 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
| Question | Reason & 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
| Question | Reason & 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. |