Every chapter has its lab, and so does Appendix D. On top of that there’s one block that exists only as a lab: the final challenge.
Chapter 01
Introduction to containers and orchestration
Image, container, controller and node, explained before Kubernetes is even named. How the image deployed throughout the book gets built: multistage Dockerfile, distroless base and a process that doesn’t run as root. And the real advantages and disadvantages of containers, plus what gets complicated when you orchestrate them at scale.
Its lab is the Containers module: you build the tienda/api image and push it to the registry.
- Chapter in the book
- Hands-on lab
Chapter 02
Kubernetes architecture
The kube-apiserver and the kubelet, and hub-and-spoke communication: why everything goes through the API server and only it talks to etcd. The other components are covered where they’re really needed—kube-proxy in Networking, the scheduler in Scheduling—and all together, at the end, in Appendix D.
Its lab is the “Inside the cluster” module, on a real kubeadm cluster, together with Appendix D.
- Chapter in the book
- Hands-on lab
Chapter 03
Talking to the cluster
Why kubectl isn’t Kubernetes but an HTTP client talking to the API server, and how to see it with --v. The empty tienda Namespace, the first web Pod inside it, looking inside that Pod, reading its logs and deleting it. It’s the chapter where it still doesn’t matter if you don’t fully understand what you’re deploying.
Shares its lab with chapter 04, in the Fundamentals module.
- Chapter in the book
- Hands-on lab
Chapter 04
Kubernetes objects
The first Pod, Namespaces, labels and selectors, and annotations: how what lives in the cluster gets named and grouped. And why the list of types a cluster understands isn’t frozen, which is the door to the Extensibility chapter.
Shares its lab with chapter 03, in the Fundamentals module.
- Chapter in the book
- Hands-on lab
Chapter 05
Workloads
Pods with probes, requests, limits and QoS. ReplicaSets, Deployments with rollout and rollback, StatefulSets, DaemonSets, Jobs and CronJobs.
- Chapter in the book
- Hands-on lab
Chapter 06
Scaling
Node autoscaling (Cluster Autoscaler and Karpenter) and Pod autoscaling: Horizontal Pod Autoscaler and Vertical Pod Autoscaler, what each one measures and when they get in each other’s way.
- Chapter in the book
- Hands-on lab
Chapter 07
Networking
kube-proxy and the rules that make a Service’s IP end up at a Pod. Services and internal DNS with CoreDNS, Ingress, Gateway API—the Ingress gets torn down and rebuilt—and NetworkPolicy to close off traffic at layers 3 and 4.
- Chapter in the book
- Hands-on lab
Chapter 08
Configuration
ConfigMaps for what isn’t confidential and Secrets for what is, consumed as environment variables or as files mounted in the Pod. imagePullSecrets to pull images from a private registry, and the Downward API so the Pod knows who it is and where it runs.
- Chapter in the book
- Hands-on lab
Chapter 09
Storage
StorageClass, PersistentVolume and PersistentVolumeClaim with CSI provisioners, how a Pod ends up mounting the disk it can’t afford to lose, and VolumeSnapshot for backups.
- Chapter in the book
- Hands-on lab
Chapter 10
Security
Authentication and authorization against the API, RBAC and ServiceAccounts, the admission chain, securityContext and the Pod Security Standards that PSA enforces per Namespace. And what securityContext doesn’t protect: the supply chain, with SBOM and signing with cosign.
- Chapter in the book
- Hands-on lab
Chapter 11
Policies
ResourceQuota and LimitRange: a Namespace’s CPU and memory budget and the default values for each container.
- Chapter in the book
- Hands-on lab
Chapter 12
Scheduling
Taints and tolerations, nodeSelector, affinities and nodeName; priority and preemption, PodDisruptionBudgets and Dynamic Resource Allocation.
- Chapter in the book
- Hands-on lab
Chapter 13
Working with the cluster
Contexts and Namespaces, the kuberc preferences file, four traps that keep coming back, what Kustomize brings and what Helm brings, GitOps with Argo CD and Flux, and where to look when something breaks in the tienda, the book’s sample system. The full command reference lives in Appendix E.
- Chapter in the book
- Hands-on lab
Chapter 14
Extensibility
The CRD that teaches the cluster a new word—the tienda’s Promocion—and the operator that makes it mean something: the reconciliation loop, what the status tells you and when not to write an operator. In the lab you write the whole thing, in Go with controller-runtime.
- Chapter in the book
- Hands-on lab
Chapter 15
Observability
The cluster’s Events, metrics, logs and traces—Prometheus, Loki, Grafana—which of the four to look at first, and emerging observability with eBPF.
- Chapter in the book
- Hands-on lab
Appendix A
Glossary of acronyms
The 74 acronyms that appear in the book, gathered in one table to look up at a glance. Published in full in the website glossary (in Spanish).
Appendix B
The complete system
Everything built chapter by chapter, together and in order of application: over six hundred lines of YAML that you don’t type in from a sheet of paper, because they live in the code repository.
Appendix C
When each piece became available
Chapter by chapter, which features the book dates and since which version they exist, so you can check at a glance whether what you’re reading still holds in your cluster. All of it pinned to Kubernetes 1.37.
Appendix D
Inside the cluster
The engine room, at the end rather than the beginning: etcd, the controller-manager, the cloud-controller-manager, how containers really get run—CRI, runtimes and OCI—and Leases. It’s the only appendix with a lab of its own, on a real kubeadm cluster.
Appendix E
kubectl cheat sheet
The whole command reference, sorted by what you want to do rather than by verb: getting your bearings, looking at the cluster, looking inside a Pod, changing things by hand, changing things with files, nodes and maintenance, permissions and auditing, and Helm.