内容简介
随着微服务和容器技术的不断发展,开发人员设计、构建、运行软件的方式发生了显著变化。这些现代架构引入了新的分布式原语,需要开发人员、技术主管、架构师采用不同于以往的实践。在这本指南中,Bilgin Ibryam和Roland Huβ提供了一系列在Kubernetes上设计和实现云原生应用的常见可重用模式和原则。
每种模式都包括问题描述以及基于Kubernetes的解决方案,并通过具体的代码示例加以演示。这本新版特别适合那些已经熟悉基本Kubernetes概念,但希望学习如何用成熟的设计模式解决常见的云原生挑战的开发人员和架构师。
目录
Foreword
Preface
1. Introduction
The Path to Cloud Native
Distributed Primitives
Containers
Pods
Services
Labels
Namespaces
Discussion
More Information
Part 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
Part II. Behavioral Patterns
7. Batch Job
8. Periodic Job
9. Daemon Service
10. Singleton Service
11. Stateless Service
12. Stateful Service
13. Service Discovery
14. Self Awareness
Part III. Structural Patterns
15. Init Container
16. Sidecar
17. Adapter
18. Ambassador
Part IV. Configuration Patterns
19. EnvVar Configuration
20. Configuration Resource
21. Immutable Configuration
22. Configuration Template
Part V. Security Patterns
23. Process Containment
24. Network Segmentation
25. Secure Configuration
26. Access Control
Part VI. Advanced Patterns
27. Controller
28. Operator
29. Elastic Scale
30. Image Builder
Afterword
Index