Overview

1 Introducing Kubernetes

Kubernetes has matured into the default platform for running containerized applications, prized for abstracting infrastructure and automating everyday operations. At its heart, it is an API with controllers that reconcile a desired state: you describe how your application should run, and Kubernetes schedules it, restarts it when needed, and keeps it reachable. This declarative model standardizes deployment across laptops, data centers, and clouds, aligning well with microservices and DevOps practices while reducing cloud lock-in through a consistent API. Although smaller, simpler systems may not need it, managed services make adopting Kubernetes feasible even for lean teams. The material introduces Kubernetes hands-on, guiding readers through core concepts like pods, deployments, services, volumes, and configuration to build confidence without requiring prior container or Linux experience.

Conceptually, Kubernetes behaves like an operating system for clusters: the control plane (API server, etcd, scheduler, and controllers) maintains cluster state, while worker nodes run workloads via the kubelet and a container runtime, with kube-proxy handling traffic distribution. Once installed, the cluster appears as a single deployment surface; you submit YAML/JSON manifests, the API persists objects, controllers create the required instances, the scheduler places them, kubelets start containers, and networking exposes them behind stable endpoints. Built-in capabilities—service discovery, horizontal scaling, load balancing, leader election, and self-healing—let developers focus on business logic rather than infrastructure, while Kubernetes continually reconciles changes to keep applications healthy and aligned with their specifications.

For adoption, organizations can run Kubernetes on-premises, in the cloud, or in hybrid setups, taking advantage of elastic capacity and autoscaling where available. A central decision is whether to operate clusters in-house or rely on managed offerings such as GKE, AKS, or EKS; using Kubernetes is far easier than managing it, and enterprise distributions can add hardened defaults and tooling. Teams should weigh the learning curve, interim costs, and the actual need for automation: monoliths or very few services may not justify the complexity, whereas larger microservice estates benefit from improved utilization, resilience, and portability. By the end, readers should understand how Kubernetes works, how to package and deploy applications locally and in the cloud, and how to navigate the platform without feeling overwhelmed.

Infrastructure abstraction using Kubernetes
The declarative model of application deployment
Changes in the description are reflected in the running application
Kubernetes takes over the management of applications
The origins and state of the Kubernetes open source project
Comparing monolithic applications with microservices
Kubernetes has standardized how you deploy applications on cloud providers
Kubernetes is to a computer cluster what an operating system is to a computer.
Computers in a Kubernetes cluster are divided into the control and the workload plane.
Kubernetes exposes the cluster as a uniform deployment area
The two planes that make a Kubernetes cluster
The components of the Kubernetes control plane
The Kubernetes components that run on each node
Deploying an application to Kubernetes

Summary

  • Kubernetes is the Greek word for “helmsman.” Just like a ship’s captain oversees the ship while the helmsman steers it, you oversee your computer cluster, while Kubernetes performs the everyday management tasks.
  • Kubernetes is pronounced koo-ber-netties. Kubectl, the Kubernetes command-line tool, is pronounced kube-control.
  • Kubernetes is an open source project built on Google’s vast experience in running applications on a global scale. Thousands of individuals contribute to it today.
  • Kubernetes uses a declarative model to describe application deployments. After you provide a description of your application to Kubernetes, it brings it to life.
  • Kubernetes is like an operating system for the cluster. It abstracts the infrastructure and presents all computers in a data center as one large, contiguous deployment area.
  • Microservice-based applications are more difficult to manage than monolithic applications. The more microservices you have, the more you need to automate their management with a system like Kubernetes.
  • Kubernetes helps both development and operations teams do what they do best. It frees them from mundane tasks and introduces a standard way of deploying applications both on-premises and in any cloud.
  • Using Kubernetes allows developers to deploy applications without the help of system administrators. It reduces operational costs through better utilization of existing hardware, automatically adjusts your system to load fluctuations, and heals itself and the applications running on it.
  • A Kubernetes cluster consists of one or more control plane nodes and multiple worker nodes. The Kubernetes components running on the control plane nodes control the cluster, while the worker nodes run the deployed applications or workloads.
  • Using Kubernetes is not too difficult, but managing it is hard. An inexperienced team should use a Kubernetes-as-a-Service offering instead of deploying Kubernetes by itself.

FAQ

What does “Kubernetes” mean, and how do you pronounce it?The word comes from Greek for “pilot” or “helmsman,” reflecting how Kubernetes steers applications while you decide the course. Common pronunciations include “koo-ber-NET-eez” and “koo-ber-NAY-tace.” It’s also called Kube or K8s (“kates”), where 8 stands for the letters omitted.
What problem does Kubernetes solve?It automates deploying and operating containerized applications at scale. Kubernetes decides where apps run, restarts them on failure, keeps them reachable, and maintains the desired state you define—reducing day-to-day manual work.
How does Kubernetes abstract away infrastructure?Instead of targeting specific machines, you deploy to the cluster through a unified API. Kubernetes presents all worker nodes as a single deployment surface and hides differences between on‑prem and cloud environments.
What does “declarative deployment” mean in Kubernetes?You describe your application and its desired state in YAML/JSON manifests. Controllers continuously reconcile reality to match that description—when you change the manifest, Kubernetes updates the running system accordingly.
How does Kubernetes keep applications healthy?It restarts crashed containers, moves workloads off failed nodes, and balances traffic across replicas. With metrics, it can scale replicas up or down, and in the cloud it can even grow or shrink the cluster itself.
Why has Kubernetes seen such wide adoption?It makes managing microservices practical, standardizes deployment across clouds, and bridges dev/ops through self-service and automation. Better resource packing improves utilization and lowers costs while increasing reliability.
How is a Kubernetes cluster structured?A cluster has a control plane (the “brains”) and worker nodes (the “workload plane”). The control plane exposes the API and manages state; worker nodes run your application containers.
Which components make up the control plane?The API Server exposes the Kubernetes API, etcd stores cluster state, the Scheduler assigns workloads to nodes, and Controllers create and manage objects to achieve the desired state.
What runs on each worker node?Kubelet talks to the API Server and starts containers via the container runtime (e.g., Docker-compatible). Kube‑proxy sets up load balancing and connectivity; common add-ons include DNS, networking, and logging agents.
Should you self-manage Kubernetes or use a managed service?Managing production-grade Kubernetes is complex; most teams benefit from managed offerings like GKE, AKS, or EKS, which handle the control plane. Self-managing may be necessary on‑prem or for regulatory reasons, but expect significant expertise and operational effort.

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime
  • renews annually, pause or cancel renewal anytime
  • Kubernetes in Action, Second Edition ebook for free
choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime
  • renews annually, pause or cancel renewal anytime
  • Kubernetes in Action, Second Edition ebook for free