Kubernetes设计模式

《Kubernetes设计模式》

  • 出版社:中国电力出版社
  • ISBN:9787519845889
  • 版次:1
  • 商品编码:12941864
  • 品牌:中国电力出版社(zhongguodianlichubanshe)
  • 包装:平装
  • 开本:16开
  • 出版时间:2020-08-01
  • 用纸:胶版纸
  • 页数:300
  • 字数:353000
基本介绍书籍目录点评信息
  • 书籍内容

    本书介绍了以下模式类型:
    基础模式涵盖构建基于容器的云原生应用程序的核心原则和实践。
    行为模式详细介绍管理容器和平台交互的概念。
    结构化模式教你如何通过在Pod中组织容器解决特定的用例。
    配置模式讲述如何处理Kubernetes中应用程序的配置。
    高级模式涵盖更复杂的主题,例如操作器和自动伸缩等。

    编辑推荐

    随着微服务和容器的发展,开发人员设计、构建和运行软件的方式已经发生了明显的变化。这些现代体系结构提供了新的分布式原语,开发人员、技术负责人和架构师在实现这些原语时也需要采用一套不同的实践。本书重点介绍在Kubernetes上设计和实现云原生应用程序时所需的通用且可重用的模式和原理。
    本书中的每个模式都包含问题描述和特定于Kubernetes的解决方案。所有模式均提供具体的代码示例以及演示。本书主要面向熟悉Kubernetes基本概念的开发人员和架构师,帮助他们学习如何使用久经考验的设计模式解决常见的云原生难题。

    作者简介

    Bilgin Ibryam(@bibryam)是红帽的首席架构师,阿帕奇软件基金会的成员,他曾向多个开源项目贡献代码。
    RolandHuß(@ro14nd)是红帽的首席软件工程师,也是Knative无服务器团队的成员。
  • 序 .1
    前言 .3
    第1 章 引言 13
    1.1 云原生之路 . 13
    1.2 分布式原语 . 15
    1.2.1 容器 17
    1.2.2 Pod. 18
    1.2.3 服务 20
    1.2.4 标签 20
    1.2.5 注释 22
    1.2.6 命名空间. 22
    1.3 讨论 24
    1.4 参考资料 25
    第一部分 基础模式
    第2 章 可预测的需求 .29
    2.1 问题 29
    2.2 解决方案 30
    2.2.1 运行时依赖 30
    2.2.2 资源配置文件 33
    2.2.3 Pod 优先级 34
    2.2.4 项目资源. 37
    2.2.5 容量规划. 38
    2.3 讨论 39
    2.4 参考资料 39
    第3 章 声明式部署 .41
    3.1 问题 41
    3.2 解决方案 42
    3.2.1 滚动部署. 43
    3.2.2 固定部署. 46
    3.2.3 蓝绿发布. 46
    3.2.4 金丝雀发布 48
    3.3 讨论 48
    3.4 参考资料 50
    第4 章 健康检测 51
    4.1 问题 51
    4.2 解决方案 52
    4.2.1 进程健康检查 52
    4.2.2 存活探针. 52
    4.2.3 就绪探针. 54
    4.3 讨论 55
    4.4 参考资料 56
    第5 章 生命周期管理 .59
    5.1 问题 59
    5.2 解决方案 60
    5.2.1 SIGTERM 信号 60
    5.2.2 SIGKILL 信号 . 61
    5.2.3 postStart 钩子 61
    5.2.4 preStop 钩子 . 62
    5.2.5 其他生命周期控制 . 63
    5.3 讨论 64
    5.4 参考资料 65
    第6 章 自动放置 67
    6.1 问题 67
    6.2 解决方案 68
    6.2.1 可利用的节点资源 . 68
    6.2.2 容器资源需求 69
    6.2.3 放置策略. 69
    6.2.4 调度的过程 70
    6.2.5 节点亲和性 72
    6.2.6 Pod 亲和性和反亲和性 73
    6.2.7 污点和容忍 75
    6.3 讨论 79
    6.4 参考资料 81
    第二部分 行为模式
    第7 章 批处理作业 .85
    7.1 问题 85
    7.2 解决方案 86
    7.3 讨论 89
    7.4 参考资料 90
    第8 章 定期作业 91
    8.1 问题 91
    8.2 解决方案 92
    8.3 讨论 94
    8.4 参考资料 94
    第9 章 守护进程服务 .95
    9.1 问题 95
    9.2 解决方案 96
    9.3 讨论 99
    9.4 参考资料 99
    第10 章 单例服务 . 101
    10.1 问题 101
    10.2 解决方案 . 102
    10.2.1 应用程序外锁定 102
    10.2.2 应用程序内锁定 105
    10.2.3 Pod 中断预算 107
    10.3 讨论 108
    10.4 参考资料 . 108
    第11 章 有状态服务 . 111
    11.1 问题 111
    11.1.1 存储 . 112
    11.1.2 网络 . 113
    11.1.3 标识 . 113
    11.1.4 序数 . 114
    11.1.5 其他需求 114
    11.2 解决方案 . 114
    11.2.1 存储 . 116
    11.2.2 网络 . 117
    11.2.3 标识 . 119
    11.2.4 序数 . 119
    11.2.5 其他特性 120
    11.3 讨论 122
    11.4 参考资料 . 123
    第12 章 服务发现 . 125
    12.1 问题 125
    12.2 解决方案 . 126
    12.2.1 内部服务发现 . 127
    12.2.2 手动服务发现 . 131
    12.2.3 集群外部的服务发现 134
    12.2.4 应用层服务发现 138
    12.3 讨论 141
    12.4 参考资料 . 142
    第13 章 自我意识 . 145
    13.1 问题 145
    13.2 解决方案 . 146
    13.3 讨论 149
    13.4 参考资料 . 149
    第三部分 结构化模式
    第14 章 初始化容器 153
    14.1 问题 153
    14.2 解决方案 . 154
    14.3 讨论 159
    14.4 参考资料 . 159
    第15 章 Sidecar 161
    15.1 问题 161
    15.2 解决方案 . 162
    15.3 讨论 164
    15.4 参考资料 . 165
    第16 章 适配器 . 167
    16.1 问题 167
    16.2 解决方案 . 167
    16.3 讨论 170
    16.4 参考资料 . 171
    第17 章 外交官 . 173
    17.1 问题 173
    17.2 解决方案 . 174
    17.3 讨论 176
    17.4 参考资料 . 176
    第四部分 配置模式
    第18 章 环境变量配置 179
    18.1 问题 179
    18.2 解决方案 . 179
    18.3 讨论 183
    18.4 参考资料 . 184
    第19 章 配置资源 . 185
    19.1 问题 185
    19.2 解决方案 . 185
    19.3 讨论 190
    19.4 参考资料 . 191
    第20 章 不可变配置 193
    20.1 问题 193
    20.2 解决方案 . 193
    20.2.1 Docker 卷 194
    20.2.2 Kubernetes 初始化容器 195
    20.2.3 OpenShift 模板 198
    20.3 讨论 199
    20.4 参考资料 . 200
    第21 章 配置模板 . 203
    21.1 问题 203
    21.2 解决方案 . 204
    21.3 讨论 209
    21.4 参考资料 . 210
    第五部分 高级模式
    第22 章 控制器 . 213
    22.1 问题 213
    22.2 解决方案 . 214
    22.3 讨论 226
    22.4 参考资料 . 226
    第23 章 操作器 . 229
    23.1 问题 229
    23.2 解决方案 . 230
    23.2.1 自定义资源定义 230
    23.2.2 控制器和操作器的分类 . 233
    23.2.3 操作器的开发与部署 236
    23.2.4 示例 . 239
    23.3 讨论 243
    23.4 参考资料 . 244
    第24 章 弹性伸缩 . 247
    24.1 问题 247
    24.2 解决方案 . 248
    24.2.1 手动水平伸缩 . 248
    24.2.2 Pod 水平自动伸缩 250
    24.2.3 Pod 垂直自动伸缩 255
    24.2.4 集群自动伸缩 . 259
    24.2.5 伸缩级别 262
    24.3 讨论 264
    24.4 参考资料 . 265
    第25 章 镜像构建 . 267
    25.1 问题 267
    25.2 解决方案 . 269
    25.2.1 OpenShift Build . 269
    25.2.2 Knative Build 277
    25.3 讨论 282
    25.4 参考资料 . 283
    后记 285
    作者介绍 287
    封面介绍 287
  • 精彩书评

    通过本书的学习,你不仅能够了解Kubernetes中的各种组件,而且还会明白为什么以及如何使用这些组件来构建系统。”
    ——Brendan Burns
    Kubernetes联合创始人
    “本书以独特的方式介绍了便于开发人员理解并快速掌握的有关Kubernetes的关键概念。”
    ——Andrew Block
    红帽高级首席顾问
    “这是一本很了不起的书,书中讲解了如何利用Kubernetes解决现实世界中的各项任务和难题。”
    ——Michael Hüttermann
    Huettermann.net的开发运维首席顾问
微信公众号

热门文章

更多