Kubernetes从入门到实践

Kubernetes从入门到实践
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2020-06
ISBN: 9787115534712
定价: 79.00
装帧: 其他
  • 本书共11章,由浅入深地介绍了Kubernetes的相关技术。主要内容包括容器的发展史,Kubernetes的核心概念,Kubernetes的安装与部署,Kubernetes的基本单位Pod,Kubernetes中的各种控制器,Kubernetes发布服务的方式,Kubernetes中的存储卷与用法,Kubernetes中的几种实用扩展,Kubernetes管理资源的方式与Pod的调度原理,API Server的基本使用方式及身份认证与授权方式等。

    本书适合开发人员、运维人员、测试人员阅读,同时也适合对Kubernetes或容器技术感兴趣的读者阅读。 赵卓,新蛋科技有限公司电子商务研发团队项目经理,从事过多年测试工作和开发工作,精通各类开发和测试技术。编写过的图书有《Selenium自动化测试指南》,翻译过的图书有《精通Selenium WebDriver 3.0 (第2版)》《Visual Studio 2010软件测试指南》和《快速编码:高效使用Microsoft Visual Studio》。 目  录



    第 一部分 基础知识

    第 1章 容器的发展史 3

    1.1 开发过程的发展 3

    1.1.1 瀑布式开发 3

    1.1.2 敏捷式开发 4

    1.1.3 DevOps 5

    1.2 应用架构的发展 6

    1.2.1 单体架构与多层架构 6

    1.2.2 微服务架构 7

    1.3 部署/打包的发展 9

    1.3.1 物理机和虚拟机 9

    1.3.2 容器 10

    1.3.3 容器的舵手―Kubernetes 11

    第 2章 Kubernetes的核心概念 12

    2.1 Kubernetes的设计架构 12

    2.1.1 Master 13

    2.1.2 Node 15

    2.1.3 组件间的基本交互流程 16

    2.2 Kubernetes的核心对象 17

    2.2.1 Pod 17

    2.2.2 控制器 18

    2.2.3 服务与存储 20

    2.2.4 资源划分 22

    2.3 本章小结 23

    第二部分 应用

    第3章 Kubernetes的安装与部署 27

    3.1 Master与Node都要安装的

    基础组件 28

    3.1.1 在Debian、Ubuntu系统上安装

    基础组件 28

    3.1.2 在CentOS以及RHEL和Fedora

    系统上安装基础组件 28

    3.2 Master的安装与配置 29

    3.2.1 如何解决CPU数量

    不够的问题 29

    3.2.2 如何解决不支持交换

    内存的问题 29

    3.2.3 如何解决网络连接

    错误的问题 30

    3.3 Node的安装与配置 32

    3.4 本章小结 36

    第4章 Pod―Kubernetes的基本单位 37

    4.1 Pod的基本操作 37

    4.1.1 创建Pod 37

    4.1.2 查询Pod 38

    4.1.3 修改Pod 40

    4.1.4 删除Pod 41

    4.2 Pod模板详解 41

    4.3 Pod与容器 45

    4.3.1 Pod创建容器的方式 45

    4.3.2 Pod组织容器的方式 50

    4.4 Pod的生命周期 55

    4.4.1 Pod的相位 55

    4.4.2 Pod的重启策略 56

    4.4.3 Pod的创建与销毁过程 57

    4.4.4 Pod的生命周期事件 58

    4.5 Pod的健康检查 63

    4.6 本章小结 68

    第5章 控制器―Pod的管理 70

    5.1 Deployment控制器 70

    5.1.1 Deployment控制器的

    基本操作 71

    5.1.2 Deployment控制器的模板 75

    5.1.3 Deployment控制器的伸缩 76

    5.1.4 Deployment控制器的更新 77

    5.1.5 Deployment控制器的回滚 84

    5.2 DaemonSet控制器 85

    5.2.1 DaemonSet控制器的基本操作 86

    5.2.2 DaemonSet控制器的更新 88

    5.3 Job与CronJob控制器 90

    5.3.1 Job控制器的基本操作 90

    5.3.2 Job的异常处理 95

    5.3.3 CronJob控制器的基本操作 98

    5.4 其他控制器 101

    5.5 本章小结 102

    第6章 Service和Ingress―

    发布Pod提供的服务 103

    6.1 Service 103

    6.1.1 向外发布―通过

    ClusterIP发布 107

    6.1.2 向外发布―通过

    NodePort发布 110

    6.1.3 向外发布―通过

    LoadBalancer发布 112

    6.1.4 向内发布―通过

    无头Service 115

    6.1.5 向内发布―通过

    ExternalName 117

    6.1.6 服务发现 119

    6.1.7 其他配置方式 121

    6.2 Ingress 124

    6.2.1 Ingress控制器的安装 126

    6.2.2 Ingress的基本操作 127

    6.3 本章小结 137

    第7章 存储与配置 138

    7.1 本地存储卷 138

    7.1.1 emptyDir 139

    7.1.2 hostPath 140

    7.2 网络存储卷 142

    7.2.1 安装NFS 142

    7.2.2 使用NFS 144

    7.3 持久存储卷 146

    7.3.1 PV与PVC 147

    7.3.2 StorageClass 154

    7.4 StatefulSet控制器 159

    7.4.1 StatefulSet控制器的

    基本操作 161

    7.4.2 PVC及PV的使用 163

    7.4.3 无头Service的访问 165

    7.4.4 Pod的重建 167

    7.4.5 StatefulSet控制器的

    伸缩与更新 168

    7.5 配置存储卷 168

    7.5.1 ConfigMap 169

    7.5.2 Secret 174

    7.5.3 Downward API 181

    7.6 本章小结 184

    第8章 Kubernetes资源的管理及调度 186

    8.1 资源调度―为Pod设置

    计算资源 186

    8.2 资源管理―命名空间 190

    8.2.1 命名空间的基本操作 190

    8.2.2 命名空间的资源配额 193

    8.2.3 命名空间中单个资源的

    限额范围 197

    8.3 资源管理―标签、

    选择器及注解 202

    8.3.1 标签 202

    8.3.2 选择器 204

    8.3.3 注解 207

    8.4 资源调度―Pod调度

    策略详解 208

    8.4.1 调度过程 208

    8.4.2 节点选择调度 211

    8.4.3 节点亲和性调度 212

    8.4.4 Pod亲和性与反亲和性调度 215

    8.4.5 污点与容忍度 219

    8.4.6 优先级与抢占式调度 222

    8.5 本章小结 224

    第三部分 进阶

    第9章 API Server 227

    9.1 API Server的基本操作 227

    9.1.1 写操作 228

    9.1.2 读操作 234

    9.1.3 独有操作 237

    9.1.4 状态操作 241

    9.2 API Server的身份认证、授权、

    准入控制 245

    9.2.1 身份认证 246

    9.2.2 RBAC授权 253

    9.3 本章小结 260

    第 10章 Kubernetes的扩展 261

    10.1 可视化管理―

    Kubernetes Dashboard 261

    10.1.1 安装Kubernetes Dashboard 261

    10.1.2 使用Kubernetes Dashboard 264

    10.2 资源监控―Prometheus与

    Grafana 269

    10.2.1 安装与配置Prometheus 269

    10.2.2 安装与配置Grafana 270

    10.3 日志管理―ElasticSearch、

    Fluentd、Kibana 275

    10.4 本章小结 277

    第四部分 实践

    第 11章 项目部署案例 281

    11.1 无状态项目的部署案例 281

    11.2 有状态项目的部署案例 287

    11.3 使用Helm部署项目 292

    11.3.1 Helm简介 293

    11.3.2 Helm的安装 294

    11.3.3 Helm Chart的基本操作 296

    11.3.4 将Chart打包到

    Chart仓库中 306

    11.3.5 发布版本的更新、

    回滚和删除 308

    11.3.6 使用Helm部署的项目案例 310

    11.4 本章小结 313
  • 内容简介:
    本书共11章,由浅入深地介绍了Kubernetes的相关技术。主要内容包括容器的发展史,Kubernetes的核心概念,Kubernetes的安装与部署,Kubernetes的基本单位Pod,Kubernetes中的各种控制器,Kubernetes发布服务的方式,Kubernetes中的存储卷与用法,Kubernetes中的几种实用扩展,Kubernetes管理资源的方式与Pod的调度原理,API Server的基本使用方式及身份认证与授权方式等。

    本书适合开发人员、运维人员、测试人员阅读,同时也适合对Kubernetes或容器技术感兴趣的读者阅读。
  • 作者简介:
    赵卓,新蛋科技有限公司电子商务研发团队项目经理,从事过多年测试工作和开发工作,精通各类开发和测试技术。编写过的图书有《Selenium自动化测试指南》,翻译过的图书有《精通Selenium WebDriver 3.0 (第2版)》《Visual Studio 2010软件测试指南》和《快速编码:高效使用Microsoft Visual Studio》。
  • 目录:
    目  录



    第 一部分 基础知识

    第 1章 容器的发展史 3

    1.1 开发过程的发展 3

    1.1.1 瀑布式开发 3

    1.1.2 敏捷式开发 4

    1.1.3 DevOps 5

    1.2 应用架构的发展 6

    1.2.1 单体架构与多层架构 6

    1.2.2 微服务架构 7

    1.3 部署/打包的发展 9

    1.3.1 物理机和虚拟机 9

    1.3.2 容器 10

    1.3.3 容器的舵手―Kubernetes 11

    第 2章 Kubernetes的核心概念 12

    2.1 Kubernetes的设计架构 12

    2.1.1 Master 13

    2.1.2 Node 15

    2.1.3 组件间的基本交互流程 16

    2.2 Kubernetes的核心对象 17

    2.2.1 Pod 17

    2.2.2 控制器 18

    2.2.3 服务与存储 20

    2.2.4 资源划分 22

    2.3 本章小结 23

    第二部分 应用

    第3章 Kubernetes的安装与部署 27

    3.1 Master与Node都要安装的

    基础组件 28

    3.1.1 在Debian、Ubuntu系统上安装

    基础组件 28

    3.1.2 在CentOS以及RHEL和Fedora

    系统上安装基础组件 28

    3.2 Master的安装与配置 29

    3.2.1 如何解决CPU数量

    不够的问题 29

    3.2.2 如何解决不支持交换

    内存的问题 29

    3.2.3 如何解决网络连接

    错误的问题 30

    3.3 Node的安装与配置 32

    3.4 本章小结 36

    第4章 Pod―Kubernetes的基本单位 37

    4.1 Pod的基本操作 37

    4.1.1 创建Pod 37

    4.1.2 查询Pod 38

    4.1.3 修改Pod 40

    4.1.4 删除Pod 41

    4.2 Pod模板详解 41

    4.3 Pod与容器 45

    4.3.1 Pod创建容器的方式 45

    4.3.2 Pod组织容器的方式 50

    4.4 Pod的生命周期 55

    4.4.1 Pod的相位 55

    4.4.2 Pod的重启策略 56

    4.4.3 Pod的创建与销毁过程 57

    4.4.4 Pod的生命周期事件 58

    4.5 Pod的健康检查 63

    4.6 本章小结 68

    第5章 控制器―Pod的管理 70

    5.1 Deployment控制器 70

    5.1.1 Deployment控制器的

    基本操作 71

    5.1.2 Deployment控制器的模板 75

    5.1.3 Deployment控制器的伸缩 76

    5.1.4 Deployment控制器的更新 77

    5.1.5 Deployment控制器的回滚 84

    5.2 DaemonSet控制器 85

    5.2.1 DaemonSet控制器的基本操作 86

    5.2.2 DaemonSet控制器的更新 88

    5.3 Job与CronJob控制器 90

    5.3.1 Job控制器的基本操作 90

    5.3.2 Job的异常处理 95

    5.3.3 CronJob控制器的基本操作 98

    5.4 其他控制器 101

    5.5 本章小结 102

    第6章 Service和Ingress―

    发布Pod提供的服务 103

    6.1 Service 103

    6.1.1 向外发布―通过

    ClusterIP发布 107

    6.1.2 向外发布―通过

    NodePort发布 110

    6.1.3 向外发布―通过

    LoadBalancer发布 112

    6.1.4 向内发布―通过

    无头Service 115

    6.1.5 向内发布―通过

    ExternalName 117

    6.1.6 服务发现 119

    6.1.7 其他配置方式 121

    6.2 Ingress 124

    6.2.1 Ingress控制器的安装 126

    6.2.2 Ingress的基本操作 127

    6.3 本章小结 137

    第7章 存储与配置 138

    7.1 本地存储卷 138

    7.1.1 emptyDir 139

    7.1.2 hostPath 140

    7.2 网络存储卷 142

    7.2.1 安装NFS 142

    7.2.2 使用NFS 144

    7.3 持久存储卷 146

    7.3.1 PV与PVC 147

    7.3.2 StorageClass 154

    7.4 StatefulSet控制器 159

    7.4.1 StatefulSet控制器的

    基本操作 161

    7.4.2 PVC及PV的使用 163

    7.4.3 无头Service的访问 165

    7.4.4 Pod的重建 167

    7.4.5 StatefulSet控制器的

    伸缩与更新 168

    7.5 配置存储卷 168

    7.5.1 ConfigMap 169

    7.5.2 Secret 174

    7.5.3 Downward API 181

    7.6 本章小结 184

    第8章 Kubernetes资源的管理及调度 186

    8.1 资源调度―为Pod设置

    计算资源 186

    8.2 资源管理―命名空间 190

    8.2.1 命名空间的基本操作 190

    8.2.2 命名空间的资源配额 193

    8.2.3 命名空间中单个资源的

    限额范围 197

    8.3 资源管理―标签、

    选择器及注解 202

    8.3.1 标签 202

    8.3.2 选择器 204

    8.3.3 注解 207

    8.4 资源调度―Pod调度

    策略详解 208

    8.4.1 调度过程 208

    8.4.2 节点选择调度 211

    8.4.3 节点亲和性调度 212

    8.4.4 Pod亲和性与反亲和性调度 215

    8.4.5 污点与容忍度 219

    8.4.6 优先级与抢占式调度 222

    8.5 本章小结 224

    第三部分 进阶

    第9章 API Server 227

    9.1 API Server的基本操作 227

    9.1.1 写操作 228

    9.1.2 读操作 234

    9.1.3 独有操作 237

    9.1.4 状态操作 241

    9.2 API Server的身份认证、授权、

    准入控制 245

    9.2.1 身份认证 246

    9.2.2 RBAC授权 253

    9.3 本章小结 260

    第 10章 Kubernetes的扩展 261

    10.1 可视化管理―

    Kubernetes Dashboard 261

    10.1.1 安装Kubernetes Dashboard 261

    10.1.2 使用Kubernetes Dashboard 264

    10.2 资源监控―Prometheus与

    Grafana 269

    10.2.1 安装与配置Prometheus 269

    10.2.2 安装与配置Grafana 270

    10.3 日志管理―ElasticSearch、

    Fluentd、Kibana 275

    10.4 本章小结 277

    第四部分 实践

    第 11章 项目部署案例 281

    11.1 无状态项目的部署案例 281

    11.2 有状态项目的部署案例 287

    11.3 使用Helm部署项目 292

    11.3.1 Helm简介 293

    11.3.2 Helm的安装 294

    11.3.3 Helm Chart的基本操作 296

    11.3.4 将Chart打包到

    Chart仓库中 306

    11.3.5 发布版本的更新、

    回滚和删除 308

    11.3.6 使用Helm部署的项目案例 310

    11.4 本章小结 313
查看详情
12
相关图书 / 更多
Kubernetes从入门到实践
Kubeflow:云计算和机器学习的桥梁
何金池 著
Kubernetes从入门到实践
Kubernetes修炼手册
[英]奈吉尔·波尔顿(Nigel Poulton)
Kubernetes从入门到实践
Kubernetes进阶实战(第2版)
马永亮
Kubernetes从入门到实践
Kubernetes编程
[美]迈克尔·豪森布拉斯(Michael Hausenblas) 著;李凡希、任震宇 译
Kubernetes从入门到实践
Kubernetes微服务实战
[印度]吉吉·赛凡(Gigi Sayfan) 著;史天 张媛 楼炜 肖力 译
Kubernetes从入门到实践
Kubernetes权威指南:从Docker到Kubernetes实践全接触(第5版)
龚正
Kubernetes从入门到实践
Kubernetes实战
[美]布兰登·伯恩斯(Brendan Burns);[美]埃
Kubernetes从入门到实践
Kubernetes设计模式
比尔金伊卜亚姆;罗兰胡贝塔
Kubernetes从入门到实践
Kubernetes即学即用(第二版)
布兰登·柏恩思;乔·贝达;凯尔西·海托华;马晶慧
Kubernetes从入门到实践
Kubernetes零基础快速入门
张春晓
Kubernetes从入门到实践
Kudu:构建高性能实时数据分析存储系统(博文视点出品)
常冰琳
Kubernetes从入门到实践
Kubernetes生产化实践之路
孟凡杰 苏菲 谢文利 李建强 著