
Kubernetes Patterns: Reusable Elements for Designing Cloud Native Applications, 2nd Edition
- Length: 390 pages
- Edition: 2
- Language: English
- Publisher: O'Reilly Media
- Publication Date: 2023-04-25
- ISBN-10: 1098131681
- ISBN-13: 9781098131685
- Sales Rank: #2620175 (See Top 100 Books)
The way developers design, build, and run software has changed significantly with the evolution of microservices and containers. These modern architectures offer new distributed primitives that require a different set of practices than many developers, tech leads, and architects are accustomed to. With this focused guide, Bilgin Ibryam and Roland Huss provide common reusable patterns and principles for designing and implementing cloud native applications on Kubernetes.
Each pattern includes a description of the problem and a Kubernetes-specific solution. All patterns are backed by and demonstrated with concrete code examples. This updated edition is ideal for developers and architects familiar with basic Kubernetes concepts who want to learn how to solve common cloud native challenges with proven design patterns.
You’ll explore:
- Foundational patterns covering core principles and practices for building and running container-based cloud native applications
- Behavioral patterns that delve into finer-grained concepts for managing various types of container and platform interactions
- Structural patterns for organizing containers within a Pod for addressing specific use cases
- Configuration patterns that provide insight into how application configurations can be handled in Kubernetes
- Security patterns for hardening the access to cloud native applications running on Kubernetes Advanced patterns covering more complex topics such as operators and autoscaling
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 1. Introduction The Path to Cloud Native Distributed Primitives Containers Pods Services Labels Namespaces Discussion More Information I. Foundational Patterns 2. Predictable Demands Problem Solution Runtime Dependencies Resource Profiles Pod Priority Project Resources Capacity Planning Discussion More Information 3. Declarative Deployment Problem Solution Rolling Deployment Fixed Deployment Blue-Green Release Canary Release Discussion More Information 4. Health Probe Problem Solution Process Health Checks Liveness Probes Readiness Probes Startup Probes Discussion More Information 5. Managed Lifecycle Problem Solution SIGTERM Signal SIGKILL Signal PostStart Hook PreStop Hook Other Lifecycle Controls Discussion More Information 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 II. Behavioral Patterns 7. Batch Job Problem Solution Discussion More Information 8. Periodic Job Problem Solution Discussion More Information 9. Daemon Service Problem Solution Discussion More Information 10. Singleton Service Problem Solution Out-of-Application Locking In-Application Locking Pod Disruption Budget Discussion More Information 11. Stateless Service Problem Solution Instances Networking Storage Discussion More Information 12. Stateful Service Problem Storage Networking Identity Ordinality Other Requirements Solution Storage Networking Identity Ordinality Other Features Discussion More Information 13. Service Discovery Problem Solution Internal Service Discovery Manual Service Discovery Service Discovery from Outside the Cluster Application Layer Service Discovery Discussion More Information 14. Self Awareness Problem Solution Discussion More Information III. Structural Patterns 15. Init Container Problem Solution Discussion More Information 16. Sidecar Problem Solution Discussion More Information 17. Adapter Problem Solution Discussion More Information 18. Ambassador Problem Solution Discussion More Information IV. Configuration Patterns 19. EnvVar Configuration Problem Solution Discussion More Information 20. Configuration Resource Problem Solution Discussion More Information 21. Immutable Configuration Problem Solution Docker Volumes Kubernetes Init Containers OpenShift Templates Discussion More Information 22. Configuration Template Problem Solution Discussion More Information V. Security Patterns 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 24. Network Segmentation Problem Solution Network Policies Network segment definition with labels Deny-all as default policy Ingress Egress Tooling Authentication Policies Discussion More Information 25. Secure Configuration Problem Solution Out-of-Cluster Encryption Sealed Secrets External Secrets Sops Centralized Secret Management Secrets Store CSI Driver Pod injection Discussion More Information 26. Access Control Problem Solution Authentication Authorization Admission Controllers Subject Users Service accounts Groups Role-Based Access Control Role RoleBinding ClusterRole ClusterRoleBinding Discussion More Information VI. Advanced Patterns 27. Controller Problem Solution Discussion More Information 28. Operator Problem Solution Custom Resource Definitions Controller and Operator Classification Operator Development and Deployment Kubebuilder Operator framework Metacontroller Example Discussion More Information 29. Elastic Scale Problem Solution Manual Horizontal Scaling Imperative scaling Declarative scaling Horizontal Pod Autoscaling Kubernetes HorizontalPodAutoscaler Knative KEDA Vertical Pod Autoscaling Cluster Autoscaling Scaling Levels Application tuning Vertical Pod autoscaling Horizontal Pod autoscaling Cluster autoscaling Discussion More Information 30. Image Builder Problem Solution Container Image Builder Dockerfile-Based builders Multilanguage builders Specialized builders Build Orchestrators Build Pod OpenShift Build Source-to-Image Docker builds Chained builds Discussion More Information Afterword What We Covered Final Words Index
How to download source code?
1. Go to: https://www.oreilly.com/
2. Search the book title: Kubernetes Patterns: Reusable Elements for Designing Cloud Native Applications, 2nd Edition
, sometime you may not get the results, please search the main title
3. Click the book title in the search results
3. Publisher resources
section, click Download Example Code
.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.