Kubernetes Patterns: Reusable Elements for Designing Cloud Native Applications (2nd Ed) [2 ed.] 9781098131685, 9781098152284

What’s New in the Second Edition The Kubernetes ecosystem has continued to grow since the first edition came out four ye

245 55 6MB

English Pages 394 Year 2023

Report DMCA / Copyright

DOWNLOAD FILE

Kubernetes Patterns: Reusable Elements for Designing Cloud Native Applications (2nd Ed) [2 ed.]
 9781098131685, 9781098152284

Table of contents :
Cover
Red Hat
Copyright
Table of Contents
Foreword
Preface
Kubernetes
Design Patterns
How This Book Is Structured
Who This Book Is For
What You Will Learn
What’s New in the Second Edition
Conventions Used in This Book
Using Code Examples
O’Reilly Online Learning
How to Contact Us
Acknowledgments
Chapter 1. Introduction
The Path to Cloud Native
Distributed Primitives
Containers
Pods
Services
Labels
Namespaces
Discussion
More Information
Part I. Foundational Patterns
Chapter 2. Predictable Demands
Problem
Solution
Runtime Dependencies
Resource Profiles
Pod Priority
Project Resources
Capacity Planning
Discussion
More Information
Chapter 3. Declarative Deployment
Problem
Solution
Rolling Deployment
Fixed Deployment
Blue-Green Release
Canary Release
Discussion
More Information
Chapter 4. Health Probe
Problem
Solution
Process Health Checks
Liveness Probes
Readiness Probes
Startup Probes
Discussion
More Information
Chapter 5. Managed Lifecycle
Problem
Solution
SIGTERM Signal
SIGKILL Signal
PostStart Hook
PreStop Hook
Other Lifecycle Controls
Discussion
More Information
Chapter 6. Automated Placement
Problem
Solution
Available Node Resources
Container Resource Demands
Scheduler Configurations
Scheduling Process
Node Affinity
Pod Affinity and Anti-Affinity
Topology Spread Constraints
Taints and Tolerations
Discussion
More Information
Part II. Behavioral Patterns
Chapter 7. Batch Job
Problem
Solution
Discussion
More Information
Chapter 8. Periodic Job
Problem
Solution
Discussion
More Information
Chapter 9. Daemon Service
Problem
Solution
Discussion
More Information
Chapter 10. Singleton Service
Problem
Solution
Out-of-Application Locking
In-Application Locking
Pod Disruption Budget
Discussion
More Information
Chapter 11. Stateless Service
Problem
Solution
Instances
Networking
Storage
Discussion
More Information
Chapter 12. Stateful Service
Problem
Storage
Networking
Identity
Ordinality
Other Requirements
Solution
Storage
Networking
Identity
Ordinality
Other Features
Discussion
More Information
Chapter 13. Service Discovery
Problem
Solution
Internal Service Discovery
Manual Service Discovery
Service Discovery from Outside the Cluster
Application Layer Service Discovery
Discussion
More Information
Chapter 14. Self Awareness
Problem
Solution
Discussion
More Information
Part III. Structural Patterns
Chapter 15. Init Container
Problem
Solution
Discussion
More Information
Chapter 16. Sidecar
Problem
Solution
Discussion
More Information
Chapter 17. Adapter
Problem
Solution
Discussion
More Information
Chapter 18. Ambassador
Problem
Solution
Discussion
More Information
Part IV. Configuration Patterns
Chapter 19. EnvVar Configuration
Problem
Solution
Discussion
More Information
Chapter 20. Configuration Resource
Problem
Solution
Discussion
More Information
Chapter 21. Immutable Configuration
Problem
Solution
Docker Volumes
Kubernetes Init Containers
OpenShift Templates
Discussion
More Information
Chapter 22. Configuration Template
Problem
Solution
Discussion
More Information
Part V. Security Patterns
Chapter 23. Process Containment
Problem
Solution
Running Containers with a Non-Root User
Restricting Container Capabilities
Avoiding a Mutable Container Filesystem
Enforcing Security Policies
Discussion
More Information
Chapter 24. Network Segmentation
Problem
Solution
Network Policies
Authentication Policies
Discussion
More Information
Chapter 25. Secure Configuration
Problem
Solution
Out-of-Cluster Encryption
Centralized Secret Management
Discussion
More Information
Chapter 26. Access Control
Problem
Solution
Authentication
Authorization
Admission Controllers
Subject
Role-Based Access Control
Discussion
More Information
Part VI. Advanced Patterns
Chapter 27. Controller
Problem
Solution
Discussion
More Information
Chapter 28. Operator
Problem
Solution
Custom Resource Definitions
Controller and Operator Classification
Operator Development and Deployment
Example
Discussion
More Information
Chapter 29. Elastic Scale
Problem
Solution
Manual Horizontal Scaling
Horizontal Pod Autoscaling
Vertical Pod Autoscaling
Cluster Autoscaling
Scaling Levels
Discussion
More Information
Chapter 30. Image Builder
Problem
Solution
Container Image Builder
Build Orchestrators
Build Pod
OpenShift Build
Discussion
More Information
Afterword
What We Covered
Final Words
Index
About the Authors
Colophon

Polecaj historie