Kubernetes (K8s) is the "Operating System" for microservices. It handles Scheduling, Healing, and Scaling so you don't have to.
A Pod is the smallest unit in K8s. It can contain one or more containers. In .NET development, we usually have the app container and a 'Sidecar' for logging or service mesh. **Architect Rule:** Never deploy a bare Pod; always use a **Deployment** to ensure K8s replaces the pod if it crashes.
Always define **Requests** and **Limits** for CPU and Memory in your YAML. Without them, one 'Greedy' microservice can consume all the resources on a node, causing other services to be evicted and triggering a cluster-wide failure.
Q: "How does K8s handle 'Zero-Downtime' deployments?"
Architect Answer: "Through **Rolling Updates**. K8s starts a new V2 pod, waits for its 'Readiness Probe' to pass, and only then does it stop an old V1 pod. It repeats this until all pods are V2. This ensures that there is always a healthy pod available to handle user traffic during the transition."