Table of contents : Cover Page Learn Kubernetes Introduction What this book is not Prerequisites How to read this book Tools you need Source code 1. Why Kubernetes 1.1 DevOps challenges 1.2 Containers 1.3 Docker containers 1.4 Deploying images 1.5 The need for container orchestration 1.6 What’s K8s? 2. Kubernetes cluster 2.1 Parts of a Kubernetes cluster 2.2 Creating a cluster 2.3 Exercise - Set up your development cluster 2.4 Exercise solution 2.5 Connecting to a cluster 3. Tooling 3.1 Kubernetes Dashboard 3.2 Visual Studio Code 3.3 Helm 4. Running pods 4.1 Deployments and ReplicaSets 4.2 Imperative commands 4.3 Exercise - Use imperative commands 4.4 Exercise solution 4.5 Exercise - Observe Kubernetes handle a failing pod 4.6 Exercise solution 4.7 Declarative commands 4.8 Exercise - Create resources using declarative commands 4.9 Exercise solution 4.10 Exercise - Update a Pod created declaratively 4.11 Exercise solution 4.12 Debugging 4.13 Exercise - Debugging failing Pods 4.14 Exercise solution 4.15 Exercise - Delete created objects 4.16 Exercise solution 4.17 Resources management 5. Exposing services 5.1 The need for services 5.2 Services 5.3 Exercise - Expose a web application to the internet 5.4 Exercise solution 5.5 Exercise - Expose an API inside the cluster 5.6 Exercise solution 5.7 Ingress 6. Volumes 6.1 The need for volumes 6.2 Short-lived storage with Volumes 6.3 Exercise - Create and use a Volume 6.4 Exercise solution 6.5 Persistent storage with PersistentVolumeClaims 6.6 Exercise - Create and use a PersistentVolume 6.7 Exercise solution 7. Configuration 7.1 Similar but different 7.2 ConfigMap 7.3 Exercise - Create and use a ConfigMap 7.4 Exercise solution 7.5 Secret 7.6 Exercise - Create and use a Secret 7.7 Exercise solution 8. Updating and scaling 8.1 Horizontal scaling 8.2 Automatic horizontal scaling 8.3 Update strategies 9. Sharing a cluster 9.1 Namespaces 9.2 RBAC 10. Helm 10.1 Using Helm 10.2 Creating Helm packages (charts) A word from the author Image attributions The Learn collection