The Book of Kubernetes

Book description

Containers ensure that software runs reliably no matter where it’s deployed, and Kubernetes is the open-source platform that lets you manage all of your containers from a single control plane. In this comprehensive tour of Kubernetes, each chapter includes a set of examples with just enough automation to start your container exploration with ease.

The book begins with an overview of modern application architecture and the benefits of and requirements for containers and orchestration. It describes Linux control groups, process isolation, and network namespaces, and how to build container images. You'll then create containers, deploy and administer a Kubernetes cluster, and learn how to debug Kubernetes all the way down to the operating system and the network. You'll gain a deep understanding of containerization and Kubernetes, as well as how container networking works at the packet level across multiple nodes in a cluster. Along the way, you'll learn:

•How containers make applications more reliable and easier to maintain
•How to build a Kubernetes cluster and use it to run containerized applications
•Why container networking is so important and how it works in detail
•How to keep applications running well, and how to debug when things go wrong
•How to keep a cluster secure with authentication and role-based access controls

Table of contents

  1. Cover Page
  2. Title Page
  3. Copyright Page
  4. Dedication
  5. About the Author
  6. About the Technical Reviewer
  7. BRIEF CONTENTS
  8. CONTENTS IN DETAIL
  9. ACKNOWLEDGMENTS
  10. INTRODUCTION
    1. The Approach
    2. Running Examples
  11. PART I MAKING AND USING CONTAINERS
  12. 1 WHY CONTAINERS MATTER
    1. Modern Application Architecture
    2. Why Containers
    3. Running Containers
    4. Deploying Containers to Kubernetes
    5. Final Thoughts
  13. 2 PROCESS ISOLATION
    1. Understanding Isolation
    2. Container Platforms and Container Runtimes
    3. Running Processes in Namespaces Directly
    4. Final Thoughts
  14. 3 RESOURCE LIMITING
    1. CPU Priorities
    2. Linux Control Groups
    3. Memory Limits
    4. Network Bandwidth Limits
    5. Final Thoughts
  15. 4 NETWORK NAMESPACES
    1. Network Isolation
    2. Network Namespaces
    3. Bridge Interfaces
    4. Masquerade
    5. Final Thoughts
  16. 5 CONTAINER IMAGES AND RUNTIME LAYERS
    1. Filesystem Isolation
    2. Building Container Images
    3. Image and Container Storage
    4. Open Container Initiative
    5. Final Thoughts
  17. PART II CONTAINERS IN KUBERNETES
  18. 6 WHY KUBERNETES MATTERS
    1. Running Containers in a Cluster
    2. Cluster Deployment
    3. Installing Cluster Add-ons
    4. Exploring a Cluster
    5. Final Thoughts
  19. 7 DEPLOYING CONTAINERS TO KUBERNETES
    1. Pods
    2. Deployments
    3. Other Controllers
    4. Final Thoughts
  20. 8 OVERLAY NETWORKS
    1. Cluster Networking
    2. Cross-Node Networking
    3. Network Customization
    4. Final Thoughts
  21. 9 SERVICE AND INGRESS NETWORKS
    1. Services
    2. External Networking
    3. Final Thoughts
  22. 10 WHEN THINGS GO WRONG
    1. Scheduling
    2. Pulling Images
    3. Running Containers
    4. Final Thoughts
  23. 11 CONTROL PLANE AND ACCESS CONTROL
    1. API Server
    2. API Server Authentication
    3. Role-Based Access Controls
    4. Final Thoughts
  24. 12 CONTAINER RUNTIME
    1. Node Service
    2. Static Pods
    3. Node Maintenance
    4. Final Thoughts
  25. 13 HEALTH PROBES
    1. About Probes
    2. Liveness Probes
    3. Startup Probes
    4. Readiness Probes
    5. Final Thoughts
  26. 14 LIMITS AND QUOTAS
    1. Requests and Limits
    2. Quotas
    3. Final Thoughts
  27. 15 PERSISTENT STORAGE
    1. Storage Classes
    2. Persistent Volumes
    3. Final Thoughts
  28. 16 CONFIGURATION AND SECRETS
    1. Injecting Configuration
    2. Injecting Files
    3. Cluster Configuration Repository
    4. Final Thoughts
  29. 17 CUSTOM RESOURCES AND OPERATORS
    1. Custom Resources
    2. Operators
    3. Final Thoughts
  30. PART III PERFORMANT KUBERNETES
  31. 18 AFFINITY AND DEVICES
    1. Affinity and Anti-affinity
    2. Service Traffic Routing
    3. Hardware Resources
    4. Final Thoughts
  32. 19 TUNING QUALITY OF SERVICE
    1. Achieving Predictability
    2. Quality of Service Classes
    3. Pod Priority
    4. Final Thoughts
  33. 20 APPLICATION RESILIENCY
    1. Example Application Stack
    2. Application and Cluster Monitoring
    3. Final Thoughts
  34. INDEX

Product information

  • Title: The Book of Kubernetes
  • Author(s): Alan Hohn
  • Release date: September 2022
  • Publisher(s): No Starch Press
  • ISBN: 9781718502642