Kubernetes Overview
Kubernetes (often shortened to K8s) is an open-source container orchestration platform.
It automates deploying, scaling, and managing containerized applications across clusters of machines.
Why Kubernetes?
Section titled “Why Kubernetes?”- Containers alone aren’t enough. A single
docker runworks for one machine, but production needs scheduling across many nodes, self-healing, load balancing, rolling updates, and secret management. - Kubernetes handles that orchestration. You describe the desired state (e.g. “run 3 replicas of this container”) and Kubernetes continuously works to make reality match.
Key Terminology
Section titled “Key Terminology”- Cluster — A set of machines (nodes) managed by Kubernetes.
- Node — A single machine in the cluster (physical or virtual). Runs containers.
- Pod — The smallest deployable unit; one or more containers that share network and storage.
- Service — A stable network endpoint that routes traffic to a set of pods.
- Deployment — Declares the desired state for pods (image, replicas, update strategy). Kubernetes creates and manages the pods.
- Namespace — A virtual partition inside a cluster for isolating resources.
- kubectl — The CLI tool for interacting with a Kubernetes cluster.
Topics in This Section
Section titled “Topics in This Section”Start with how the cluster works, then learn what objects exist and how to define them in YAML. The remaining topics build on that foundation.
- Architecture — Control plane, worker nodes, and how the pieces fit together.
- Core Objects — Pods, Deployments, Namespaces, Labels, and YAML anatomy.
- Manifests — YAML structure, the four top-level fields, spec vs status, and applying manifests.
- Examples — File-oriented layouts (base workloads, Istio, kubectl vs Argo CD).
- Networking — Services, Ingress, DNS, and network policies.
- Sidecar Pattern — When to use sidecars, sidecar vs library trade-offs, and production rollout patterns.
- Ingress Controllers — NGINX, Traefik, and AWS Load Balancer Controller with TLS/mTLS and cert-manager patterns.
- Istio — Service mesh architecture, VirtualService, mTLS, and troubleshooting with istioctl.
- Storage — Volumes, PVCs, ConfigMaps, and Secrets.
- Workload Types — Deployments vs StatefulSets vs DaemonSets vs Jobs.
- Kubectl Reference — Common commands grouped by task.
- Troubleshooting and Debugging — A practical production triage flow across workloads, cluster signals, and networking.
- Helm — Package management for Kubernetes.
- Helm Templating — Go template syntax, value injection methods, and where values come from in production.
- Helm vs operators vs GitOps — When to use Helm charts, operators, and Argo CD/Flux, and how they work together.
- Production Platform Checklist — Layered platform checks for ownership, blast radius, delivery guardrails, and drift.
- Production Patterns — Health checks, resource limits, autoscaling, and rolling updates.
- Production Scenarios — Scenario-based practice for production reasoning and mitigation planning.
- Operators — CRDs, custom controllers, the reconcile loop, and building your own operator.
- EKS (AWS) — Amazon EKS overview and a production-oriented cluster with Terraform (VPC, private API, node groups, add-ons). Uses the AWS networking and VPC connectivity guides for prerequisites.