Kubernetes设计模式(第二版)
Kubernetes设计模式(第二版)
Bilgin Ibryam, Roland HuB
马晶慧 译
出版时间:2025年03月
页数:401
“这是一本精彩、信息量丰富且非常实用的书。”
——Grady Booch
IBM首席软件工程科学家,Unified Modeling Language的合作者
“本书介绍了一套升级后的模式,可帮助开发人员充分利用Kubernetes的功能和特性。”
——Andrew Block
红帽杰出的架构师
随着微服务和容器的进步,开发人员设计、构建和运行软件的方式已经发生了巨大变化。这些现代体系结构提供了新的分布式原语,要求许多开发人员、技术负责人和架构师采用一套不同的实践方法。本书重点介绍在Kubernetes上设计和实现云原生应用程序时所需的通用且可重用的模式和原则。
本书介绍的每个模式都包含问题描述以及特定于Kubernetes的解决方案。所有模式均提供具体的代码示例以及演示。此升级后的版本主要面向熟悉Kubernetes基本概念的开发人员和架构师,帮助他们学习如何使用久经考验的设计模式解决常见的云原生难题。
本书主要内容包括:
● 基本模式篇介绍构建以及运行基于容器的云原生应用程序的核心原则与实践。
● 行为模式篇介绍各类容器和平台交互的管理。
● 结构化模式篇介绍通过组织容器解决特定的用例。
● 配置模式篇介绍如何处理Kubernetes中应用程序的配置。
● 安全模式篇介绍如何提高运行在Kubernetes之上的应用程序的安全性。
● 高级模式篇涵盖更复杂的主题,例如操作器、自动伸缩以及集群内镜像构建等。
  1. 前言
  2. 第1章 概述
  3. 1.1 云原生之路
  4. 1.2 分布式原语
  5. 1.2.1 容器
  6. 1.2.2 Pod
  7. 1.2.3 服务
  8. 1.2.4 标签
  9. 1.2.5 命名空间
  10. 1.3 讨论
  11. 1.4 参考资料
  12. 第一篇 基础模式
  13. 第2章 可预测的需求
  14. 2.1 问题
  15. 2.2 解决方案
  16. 2.2.1 运行时依赖
  17. 2.2.2 资源配置文件
  18. 2.2.3 Pod优先级
  19. 2.2.4 项目资源
  20. 2.2.5 容量规划
  21. 2.3 讨论
  22. 2.4 参考资料
  23. 第3章 声明式部署
  24. 3.1 问题
  25. 3.2 解决方案
  26. 3.2.1 滚动部署
  27. 3.2.2 固定部署
  28. 3.2.3 蓝绿发布
  29. 3.2.4 金丝雀发布
  30. 3.3 讨论
  31. 3.4 参考资料
  32. 第4章 健康检测
  33. 4.1 问题
  34. 4.2 解决方案
  35. 4.2.1 进程健康检查
  36. 4.2.2 存活探针
  37. 4.2.3 就绪探针
  38. 4.2.4 启动探针
  39. 4.3 讨论
  40. 4.4 参考资料
  41. 第5章 生命周期管理
  42. 5.1 问题
  43. 5.2 解决方案
  44. 5.2.1 SIGTERM信号
  45. 5.2.2 SIGKILL信号
  46. 5.2.3 Poststart钩子
  47. 5.2.4 Prestop钩子
  48. 5.2.5 其他生命周期控制
  49. 5.3 讨论
  50. 5.4 参考资料
  51. 第6章 自动放置
  52. 6.1 问题
  53. 6.2 解决方案
  54. 6.2.1 可利用的节点资源
  55. 6.2.2 容器资源需求
  56. 6.2.3 调度器配置
  57. 6.2.4 调度的过程
  58. 6.2.5 节点亲和性
  59. 6.2.6 Pod亲和性和反亲和性
  60. 6.2.7 拓扑分布约束
  61. 6.2.8 污点和容忍
  62. 6.3 讨论
  63. 6.4 参考资料
  64. 第二篇 行为模式
  65. 第7章 批处理作业
  66. 7.1 问题
  67. 7.2 解决方案
  68. 7.3 讨论
  69. 7.4 参考资料
  70. 第8章 定期作业
  71. 8.1 问题
  72. 8.2 解决方案
  73. 8.3 讨论
  74. 8.4 参考资料
  75. 第9章 守护进程服务
  76. 9.1 问题
  77. 9.2 解决方案
  78. 9.3 讨论
  79. 9.4 参考资料
  80. 第10章 单例服务
  81. 10.1 问题
  82. 10.2 解决方案
  83. 10.2.1 应用程序外锁定
  84. 10.2.2 应用程序内锁定
  85. 10.2.3 Pod中断预算
  86. 10.3 讨论
  87. 10.4 参考资料
  88. 第11章 无状态服务
  89. 11.1 问题
  90. 11.2 解决方案
  91. 11.2.1 实例
  92. 11.2.2 网络
  93. 11.2.3 存储
  94. 11.3 讨论
  95. 11.4 参考资料
  96. 第12章 有状态服务
  97. 12.1 问题
  98. 12.1.1 存储
  99. 12.1.2 网络
  100. 12.1.3 标识
  101. 12.1.4 序数
  102. 12.1.5 其他需求
  103. 12.2 解决方案
  104. 12.2.1 存储
  105. 12.2.2 网络
  106. 12.2.3 标识
  107. 12.2.4 序数
  108. 12.2.5 其他特性
  109. 12.3 讨论
  110. 12.4 参考资料
  111. 第13章 服务发现
  112. 13.1 问题
  113. 13.2 解决方案
  114. 13.2.1 内部服务发现
  115. 13.2.2 手动发现服务
  116. 13.2.3 集群外部的服务发现
  117. 13.2.4 应用层服务发现
  118. 13.3 讨论
  119. 13.4 参考资料
  120. 第14章 自我认知
  121. 14.1 问题
  122. 14.2 解决方案
  123. 14.3 讨论
  124. 14.4 参考资料
  125. 第三篇 结构化模式
  126. 第15章 初始化容器
  127. 15.1 问题
  128. 15.2 解决方案
  129. 15.3 讨论
  130. 15.4 参考资料
  131. 第16章 边车
  132. 16.1 问题
  133. 16.2 解决方案
  134. 16.3 讨论
  135. 16.4 参考资料
  136. 第17章 适配器
  137. 17.1 问题
  138. 17.2 解决方案
  139. 17.3 讨论
  140. 17.4 参考资料
  141. 第18章 外交官
  142. 18.1 问题
  143. 18.2 解决方案
  144. 18.3 讨论
  145. 18.4 参考资料
  146. 第四篇 配置模式
  147. 第19章 环境变量配置
  148. 19.1 问题
  149. 19.2 解决方案
  150. 19.3 讨论
  151. 19.4 参考资料
  152. 第20章 配置资源
  153. 20.1 问题
  154. 20.2 解决方案
  155. 20.3 讨论
  156. 20.4 参考资料
  157. 第21章 不可变配置
  158. 21.1 问题
  159. 21.2 解决方案
  160. 21.2.1 Docker卷
  161. 21.2.2 Kubernetes初始化容器
  162. 21.2.3 OpenShift模板
  163. 21.3 讨论
  164. 21.4 参考资料
  165. 第22章 配置模板
  166. 22.1 问题
  167. 22.2 解决方案
  168. 22.3 讨论
  169. 22.4 参考资料
  170. 第五篇 安全模式
  171. 第23章 进程约束
  172. 23.1 问题
  173. 23.2 解决方案
  174. 23.2.1 通过非root用户运行容器
  175. 23.2.2 限制容器能力
  176. 23.2.3 避免可变的容器文件系统
  177. 23.2.4 强制执行的安全策略
  178. 23.3 讨论
  179. 23.4 参考资料
  180. 第24章 网络分段
  181. 24.1 问题
  182. 24.2 解决方案
  183. 24.2.1 网络策略
  184. 24.2.2 身份验证策略
  185. 24.3 讨论
  186. 24.4 参考资料
  187. 第25章 安全配置
  188. 25.1 问题
  189. 25.2 解决方案
  190. 25.2.1 集群外加密
  191. 25.2.2 集中式机密管理
  192. 25.3 讨论
  193. 25.4 参考资料
  194. 第26章 访问控制
  195. 26.1 问题
  196. 26.2 解决方案
  197. 26.2.1 认证
  198. 26.2.2 授权
  199. 26.2.3 准入控制器
  200. 26.2.4 主体
  201. 26.2.5 基于角色的访问控制
  202. 26.3 讨论
  203. 26.4 参考资料
  204. 第六篇 高级模式
  205. 第27章 控制器
  206. 27.1 问题
  207. 27.2 解决方案
  208. 27.3 讨论
  209. 27.4 参考资料
  210. 第28章 操作器
  211. 28.1 问题
  212. 28.2 解决方案
  213. 28.2.1 自定义资源定义
  214. 28.2.2 控制器和操作器的分类
  215. 28.2.3 操作器的开发与部署
  216. 28.2.4 示例
  217. 28.3 讨论
  218. 28.4 参考资料
  219. 第29章 弹性伸缩
  220. 29.1 问题
  221. 29.2 解决方案
  222. 29.2.1 手动水平伸缩
  223. 29.2.2 Pod水平自动伸缩
  224. 29.2.3 Pod垂直自动伸缩
  225. 29.2.4 集群自动伸缩
  226. 29.2.5 伸缩级别
  227. 29.3 讨论
  228. 29.4 参考资料
  229. 第30章 镜像构建
  230. 30.1 问题
  231. 30.2 解决方案
  232. 30.2.1 容器镜像构建器
  233. 30.2.2 构建编排器
  234. 30.2.3 构建Pod
  235. 30.2.4 OpenShift构建
  236. 30.3 讨论
  237. 30.4 参考资料
  238. 后记
书名:Kubernetes设计模式(第二版)
作者:Bilgin Ibryam, Roland HuB
译者:马晶慧 译
国内出版社:中国电力出版社
出版时间:2025年03月
页数:401
书号:978-7-5198-9738-3
原版书书名:Kubernetes Patterns, 2e
原版书出版商:O'Reilly Media
Bilgin Ibryam
 
Bilgin Ibryam是红帽的首席架构师,阿帕奇软件基金会的成员,他向多个开源项目贡献了代码。他还是一位博主、开源传教士、区块链爱好者、演讲家以及《Camel Design Patterns》的作者。他拥有十多年构建和设计高可扩展性、弹性、分布式系统的经验。
在日常工作中,Bilgin喜欢通过指导和编程,领导各个企业成功地构建开源解决方案。目前他的工作主要关注应用程序集成、企业区块链、分布式系统设计、微服务,以及常见的云原生应用程序。
Bilgin Ibryam是Diagrid的产品经理,负责公司的产品战略。
 
 
Roland HuB
 
Roland HuB博士是红帽的软件工程师,他曾担任Fuse Online的技术总监,近期还加入了Knative编程的无服务团队。他拥有二十多年Java的开发经验,最近又爱上了Golang。然而,他从未忘记自己是一名系统管理员。Roland一直在积极地向开源做贡献,他是JMX-HTTP的首席开发人员,JMX-HTTP连接了Jolokia与一些流行的Java构建工具,可用于在Kubernetes和OpenShift上创建和部署容器镜像。在编程之余,他热衷于通过会议和写作来传播他的工作体会。
 
 
本书封面上的动物是一只赤嘴潜鸭(学名:Netta rufina,英文名:pochard)。rufina 在拉丁语中意为“红发”,pochard在英文中的意思是“潜鸭”。原产于欧洲和中亚的湿地,如今也分布于北非和南亚的湿地。
赤嘴潜鸭身长约45~60cm,成熟的赤嘴潜鸭可重达900~1360克左右。它们的翅膀伸展开来可达91cm。雌性的棕色羽毛深浅不一,脸色较浅,颜色不如雄性绚烂。雄性赤嘴潜鸭喙为红色,头为锈黄色,黑色的尾巴和胸部,两边为白色。
赤嘴潜鸭主要以根、种子和水生植物为食。它们在沼泽和湖泊旁边的植被中筑巢,并在春季和夏季产卵。普通的一次产卵可以孕育8~12只小鸭。赤嘴潜鸭在交配时会发出响亮的叫声。雄性赤嘴潜鸭的叫声听起来很像喘息,而雌性的叫声则更短。
赤嘴潜鸭的保护级别为“无危”(Least Concern,简称LC)。O’Reilly出版的图书,封面上很多动物都濒临灭绝。这些动物都是地球的至宝。如果你想知道如何保护这些动物,请访问animals.oreilly.com。
购买选项
定价:128.00元
书号:978-7-5198-9738-3
出版社:中国电力出版社