首页>参考读物>计算机科学与技术>软件与程序设计

Kubernetes进阶实战(第2版)
作者 : 马永亮 著
出版日期 : 2021-02-02
ISBN : 978-7-111-67186-2
定价 : 149.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 664
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

全书分为5个部分。第一部分介绍Kubernetes系统基础架构及核心概述,并提供一个Kubernetes快速部署和应用的入门指南。第二部分剖析分Kubernetes系统的应用编排核心组件,对Pod、Controller、Service和Ingress、存储卷和应用配置等进行深入介绍。第三部分介绍安全相关的话题,主要涉及认证、授权、准入控制、网络模型和网络策略等话题。第四部分介绍Kubernetes系统高级话题及系统扩展,包括调度策略、CRD和Operator、资源指标与系统监控及应用管理器等。第五部分介绍基于Kubernetes的服务治理与服务网络,涉及数据平面组件Envoy、Istio架构、部署和应用案例等话题。

图书特色

马哥教育CEO马哥(马永亮)撰写,全面升级,涵盖Kubernetes全新特性与功能,渐进式讲解、大量实操案例、随时动手验证
Kubernetes主流知识点一本讲透,涵盖架构、部署、核心资源管控与应用、调度与高可用扩展、安全认证与授权、必备生态组件等热点话题

图书前言

为什么要写这本书
异构的IT基础设施环境导致开发和部署的系统应用纷繁复杂,作为IT技术领域多年的应用者和实践者,我们曾期盼这种局面迎来“终结者”。该“终结者”不仅可以让开发人员从长期饱受困扰的程序移植问题中解脱出来,也可以让运维人员无须再手动解决运行环境中组件间的依赖关系等问题,从而让他们的核心职责分别回归到业务开发和保证系统稳定运行上。终于,以Docker为代表的应用容器技术为该难题的解决带来了一缕曙光,冉冉升起的容器编排之星Kubernetes则让该难题的解决几近尘埃落定,甚至连IT管理者心心念念多年的DevOps文化运动也借此找到了易于落地的实现方案。于是,系统运行割据多年的局面被打破,开始步入天下一统的时代。
Kubernetes是CNCF旗下的第一个“毕业”项目,并荣获2018年OSCON最具影响力奖项。尽管距Kubernetes 1.0发布已有几年光景,但其影响力至今仍可以说是空前绝后。Kubernetes可能是IT技术发展史上最为成功的开源项目,除了各类拥有IT信息系统的公司在使用或准备使用它之外,甚至在美国它逐渐成为武器系统和战斗机软件的基础设施。Linux软件基金会的常务董事Jim Zemlin在2017年的Google Cloud Next大会上曾说过,Kubernetes是“云时代的Linux”。的确,Kubernetes应该是开源世界里有史以来迭代最快的项目,俨然成为容器编排领域的事实标准,这样的迭代速度和影响力恐怕仅有Linux内核项目可堪与之匹敌。
目前,Kubernetes仍保持着每年发布4个重要版本的节奏,每次版本更新都会引入数个新特性,这种快速迭代的机制在给用户不断带来惊喜的同时,也在学习和使用上给用户造成一些困扰:相关领域的参考书仍不丰富,而互联网上可以得到的文档并非源于同一个技术版本,且厘清脉络形成完整的知识框架的时间成本较大。因此笔者在教授课程以及进行生产实践之余便萌生了写一本Kubernetes入门与实践图书,把学习和使用经验总结并分享给更多有需要的技术同行的想法,以帮助大家缩短入门路径,降低时间成本。
然而,在写作过程中,Kubernetes这种快速迭代的机制以及每每引入的新特性却在给笔者带来小惊喜之余,也使笔者感到沮丧:在一年多的写作时间里许多章节几易其稿,却依然无法确保涵盖即将成为核心功能的特性。这种沮丧感几度如影随形,直到自我安慰“基础的核心特性基本不会发生大的变动,只要能帮助读者弄清楚Kubernetes系统的基础架构及核心工作逻辑就算没有白费工夫”之后方才释去,于是便有了这本尽量多地包罗Kubernetes系统目前的主流特性及实践路径的入门之书、工具之书。
第2版与第1版的区别
2020年8月26日,Kubernetes v1.19正式发布,这是2020年于v1.18之后发布的第二个新版本。相对于2018年发布的v1.12来说,这两个版本的Kubernetes进行了不少改进并引入了诸多新的特性,不少组件与工具的功能有了较大变动。于是,本书第2版基于v1.18和v1.19的大多数新特性进行了相应的修改和升级,例如增加了kubectl插件、Kustomize、CNI、CSI及新版本调度框架等内容。
在本书第1版(2019年1月)出版后,笔者收到了许多热心读者的反馈意见,部分读者强烈建议深入讲解Service和Ingress相关的话题。因此在本书第2版中,笔者扩充了对这两个话题的讲解,分别用一章进行阐述。另外,相对于第1版,第2版在各知识点的讲解顺序及内容编排上也进行了大幅度的调整,不少章节甚至进行了大范围的重写。但如何深入理解Kubernetes及其各组件的原理性知识,以及如何将其应用于实践仍是本书贯穿始终的主旨。
本书特色
本书致力于帮助容器编排技术的初级、中级读者循序渐进地理解和使用Kubernetes系统,因此在编写时充分考虑了初学者进入一个新的知识领域时不知从何入手的茫然局面,以由浅入深、由点到面的方式讲解每一个知识细节。对于每个知识点,不仅介绍其概念和用法,还分析了为什么要有这个概念,实现方式是什么,背后的逻辑为何等,使读者不仅知其然,还知其所以然。
本书不仅可以带领读者入门,更是一本可以随时动手加以验证的实践手册,而且部分重要的内容还专门按步骤讲解具体的实操案例,帮助读者在实践中加深对概念的理解。本书几乎涵盖了应用Kubernetes系统的主流知识点,甚至可以作为考取CKA认证证书的配套参考书。
读者对象
云原生程序开发工程师
云计算运维工程师
云计算架构师
计划考取CKA认证证书的读者
其他对容器编排感兴趣的人员
如何阅读本书
阅读本书前,读者需要具有Docker容器技术的基础知识。本书分为5大部分,共16章。
第一部分为系统基础(第1~2章),介绍Kubernetes系统基础概念及基本应用。第1章介绍容器编排系统出现的背景,以及Kubernetes系统的功能、特性、核心概念、系统组件及应用模型。第2章讲解Kubernetes的部署模式,包括kubeadm部署工具的部署方式及部署过程,并给出了使用直接命令式操作管理资源对象的方法,以帮助读者快速入门。
第二部分为核心资源(第3~8章),介绍各种核心资源及应用。第3章介绍资源管理模型以及命令式和声明式管理接口,并通过命令对比说明两种操作方式的不同。第4章介绍Pod资源的常用配置、生命周期、存储状态和就绪状态检测,以及计算资源的需求与限制等。第5章主要介绍存储卷类型及常见存储卷的使用方式,PV和PVC出现的原因与应用,以及存储类资源的应用与存储卷的动态供给。第6章介绍使用ConfigMap和Secret资源为容器应用提供配置及敏感信息的方式。第7章讲解Service资源,分别介绍了Service类型、功用及其实现,并深入分析了各种类型Service的实现方式。第8章介绍Pod控制器资源类型,重点讲解了控制无状态应用的ReplicaSet、Deployment、StatefulSet和DaemonSet控制器,并介绍了Job和CronJob控制器。
第三部分为安全(第9~10章),介绍安全相关的话题,主要涉及认证、授权、准入控制、网络模型及网络策略等。第9章重点讲解认证方式、ServiceAccount和TLS认证、授权插件类型及RBAC,并在最后介绍了LimitRange、ResourceQuota和PodSecurityPolicy这3种类型的准入控制器及相关的资源类型。第10章主要介绍网络插件基础及Flannel的3种后端实现及其应用,Calico网络插件IPIP和BGP模型的实现,以及网络策略的实现及应用。
第四部分为进阶(第11~13章),主要介绍调度框架和调度插件、资源扩展和路由网关等高级话题。第11章介绍Pod资源的经典调度策略、新式的调度框架及调度插件,包括节点亲和、Pod资源亲和及基于污点与容忍度的调度等话题。第12章介绍系统资源的扩展方式,包括自定义资源类型、自定义资源对象、自定义API及控制器、Master节点的高可用等话题。第13章介绍Ingress资源及其实现、Ingress Nginx配置与应用案例,以及基于Contour的高级应用发布机制,例如蓝绿部署、流量迁移、流量镜像、超时和重试等。
第五部分为必备生态组件(第14~16章),重点介绍Kubernetes上用于支撑核心功能的关键附加组件。第14章讲解大规模应用部署管理工具Kustomize与Helm的基础及应用案例。第15章介绍资源指标、自定义指标、Prometheus监控系统及HPA控制器的应用。第16章介绍如何为Kubernetes系统提供统一日志收集及管理工具栈EFK。
有一定Kubernetes使用经验的读者可以挑选感兴趣的章节直接阅读。对于初学者,建议从基础部分逐章阅读,但构建在Kubernetes系统之上的应用多数都要以读者熟悉相关领域的知识为基础,如果某些内容很难理解,通常是由于缺乏相关知识所致,建议读者通过其他资料补足基础后再阅读。编撰本书的主要意图是为初级和中级读者提供一本循序渐进的实操手册,但任何读者都可以把它作为一本案头工具书随时查阅。
排版约定
本书所有的命令都附带了或长或短的命令提示符“#”和“$”或“~#”或“~$”,较长的命令使用了“\”作为续行符,且命令及其输出使用了无铺灰背景色的代码体。
附带代码
本书相关的配置清单等都放在https://github.com/ikubernetes/的仓库中,实践时可直接克隆到本地实验环境中使用。
勘误和支持
虽然笔者从事培训及技术研究工作已十余年,但考虑到排版印刷后不可更改,整个写作过程几乎是战战兢兢、如履薄冰,讲解每一个关键话题时,都大量调阅资料并反复斟酌,尽量清晰、准确地加以描述,同时试图避免因自己的理解偏差而误导读者。尽管如此,由于笔者的水平有限,加之写作时间仓促,书中难免存在不妥之处,恳请读者批评指正。如果你有更多的宝贵意见,可以通过邮箱mage@magedu.com联系我,期待得到读者的真挚反馈。另外,本书的勘误将会发布在笔者的公众号(iKubernetes)或本书专用的GitHub主页(https://github.com/ikubernetes)上,欢迎读者朋友关注并留言讨论。
参考资料
本书名为《Kubernetes进阶实战》(第2版),但对于具有不同知识基础和结构的读者来说,仅凭一本书的内容根本不足以获取所需的全部信息,大家还可以通过以下途径获取关于Kubernetes系统的更多资料,笔者在本书写作期间也从这些参考资料中获得了很大帮助。
Kubernetes Documentation和Kubernetes API Reference:这是提供Kubernetes领域相关知识的最全面、最深入和最准确的参考材料。
Kubernetes in Action:本书的谋篇布局及写作理念与此书不谋而合,因此对许多概念的理解和验证也以此书为素材,写作时有多处概念的描述借鉴了此书的内容。
Red Hat OpenShift Documentation:这是Red Hat公司的产品文档规范,权威、细致且条理清晰,是不可多得的参考材料。
The New Stack的技术文章及调研报告:该站点有了解Kubernetes系统技术细节和行业应用现状与趋势的不可多得的优秀资源。
Bitnami及Heptio站点上的博客文章:它们提供了深入了解和学习Kubernetes系统某个特定技术细节的可靠资料。
另外,本书借鉴了网络上的一些技术文章和参考文档。在这里一并向这些图书和文章的作者表示深深的谢意!
致谢
Kubernetes社区创造性的劳动成果和辛苦付出,才让我们有了学习、使用如此优秀的开源系统的可能性,这也是本书得以构建的基石。
感谢我的同事们在我写作期间给予的支持和理解,是他们让我有了可以放心写作的时间和精力。感谢本书第1版的热心读者的真诚建议和积极反馈,他们提出的宝贵意见为本书第2版的写作提供了参考方向或素材。
感谢参加了我的课程(马哥教育)的学员朋友们,大家的学习热情及工作中源源不断的反馈信息与需求在不同程度上帮助我一直保持对技术的追求和热忱,教学相长在此得到了充分体现。
感谢机械工业出版社华章分社的编辑高婧雅女士对本书写作的悉心指导,以及对我本人的包容和理解。
最后要特别感谢我的家人,我为写作这本书牺牲了很多陪伴他们的时间,是他们在生活中的关怀和鼓励才使我能够踏踏实实地完成本书。

       马永亮

上架指导

计算机\程序设计

封底文字

本书旨在深入讲解Kubernetes系统及其组件的原理性知识,以动手实践贯穿始终。本书涵盖了应用Kubernetes系统的主流的知识点,甚至可以作为考取CKA认证的配套参考书。
本书第2版全面升级,更前沿、更实用!
增加了对kubectl插件、Kustomize、CNI、CSI及新版本调度框架等内容的讲解。
扩充了对Service和Ingress的讲解,各用一章详细介绍。
在各知识点的讲解顺序及内容编排上进行了大幅度调整,而且对不少章节进行了大范围重写。

图书目录

前言
第一部分 系统基础
第1章 Kubernetes系统基础2
1.1 容器与容器编排系统3
1.1.1 Docker容器技术3
1.1.2 OCI与容器运行时5
1.1.3 为什么需要容器编排系统7
1.2 Kubernetes基础8
1.2.1 Kubernetes集群概述9
1.2.2 Kubernetes集群架构11
1.3 应用的运行与互联互通14
1.3.1 Pod与Service15
1.3.2 Pod控制器16
1.3.3 Kubernetes网络基础18
1.3.4 部署并访问应用20
1.4 简析Kubernetes生态系统21
1.5 本章小结23
第2章 Kubernetes快速入门24
2.1 利用kubeadm部署Kubernetes集群24
2.1.1 kubeadm部署工具25
2.1.2 集群组件运行模式26
2.1.3 kubeadm init工作流程28
2.1.4 kubeadm join工作流程31
2.1.5 kubeadm配置文件33
2.2 部署分布式Kubernetes集群34
2.2.1 准备基础环境34
2.2.2 单控制平面集群38
2.3 kubectl命令与资源管理43
2.3.1 资源管理的操作44
2.3.2 kubectl的命令格式45
2.3.3 kubectl命令常用操作示例47
2.3.4 kubectl插件50
2.4 命令式应用编排52
2.4.1 应用编排53
2.4.2 部署Service对象56
2.4.3 扩容与缩容58
2.4.4 修改与删除对象60
2.5 本章小结61
第二部分 核心资源
第3章 Kubernetes资源管理64
3.1 资源对象与API群组64
3.1.1 Kubernetes的资源对象65
3.1.2 资源及其在API中的组织形式68
3.1.3 访问Kubernetes RESTful API70
3.2 对象类资源配置规范72
3.2.1 定义资源对象73
3.2.2 对象元数据74
3.2.3 资源的期望状态75
3.2.4 获取资源配置清单格式文档75
3.2.5 资源对象管理方式77
3.3 名称空间79
3.3.1 名称空间的作用80
3.3.2 管理Namespace资源81
3.4 节点资源86
3.4.1 节点心跳与节点租约86
3.4.2 节点状态87
3.4.3 手动管理Node资源与节点89
3.5 标签与标签选择器91
3.5.1 资源标签91
3.5.2 标签选择器93
3.6 资源注解94
3.7 本章小结96
第4章 应用部署、运行与管理97
4.1 应用容器与Pod资源97
4.1.1 Pod资源基础97
4.1.2 容器设计模式99
4.1.3 Pod的生命周期104
4.2 在Pod中运行应用105
4.2.1 使用单容器Pod资源106
4.2.2 获取Pod与容器状态详情107
4.2.3 自定义容器应用与参数110
4.2.4 容器环境变量111
4.2.5 Pod的创建与删除过程112
4.3 暴露容器服务115
4.3.1 其他容器端口映射115
4.3.2 配置Pod使用节点网络117
4.4 容器安全上下文118
4.4.1 配置格式速览119
4.4.2 管理容器进程的运行身份120
4.4.3 管理容器的内核功能121
4.4.4 特权模式容器123
4.4.5 在Pod上使用sysctl124
4.5 容器应用的管理接口125
4.5.1 健康状态监测接口126
4.5.2 容器存活状态检测127
4.5.3 Pod的重启策略133
4.5.4 容器就绪状态检测133
4.5.5 容器生命周期135
4.6 多容器Pod138
4.6.1 初始化容器138
4.6.2 Sidecar容器140
4.7 资源需求与资源限制142
4.7.1 资源需求与限制142
4.7.2 容器资源需求143
4.7.3 容器资源限制145
4.7.4 容器可见资源146
4.7.5 Pod服务质量类别147
4.8 综合应用案例149
4.9 本章小结150
第5章 存储卷与数据持久化152
5.1 存储卷基础152
5.1.1 存储卷概述152
5.1.2 配置Pod存储卷154
5.2 临时存储卷156
5.2.1 emptyDir存储卷156
5.2.2 gitRepo存储卷158
5.3 hostPath存储卷159
5.4 网络存储卷161
5.4.1 NFS存储卷162
5.4.2 RBD存储卷164
5.4.3 CephFS存储卷167
5.4.4 GlusterFS存储卷169
5.5 持久存储卷171
5.5.1 PV与PVC基础172
5.5.2 PV的生命周期173
5.5.3 静态PV资源175
5.5.4 PVC资源178
5.5.5 在Pod中使用PVC181
5.5.6 存储类181
5.6 容器存储接口CSI187
5.6.1 CSI基础187
5.6.2 Longhorn存储系统189
5.7 本章小结194
第6章 应用配置195
6.1 容器化应用配置195
6.1.1 容器化应用配置的常见方式195
6.1.2 容器环境变量197
6.2 应用程序配置管理与ConfigMap资源199
6.2.1 创建ConfigMap对象200
6.2.2 通过环境变量引用ConfigMap键值203
6.2.3 ConfigMap存储卷206
6.2.4 容器应用重载新配置211
6.3 Secret资源:向容器注入配置信息213
6.3.1 创建Secret资源213
6.3.2 使用Secret资源219
6.4 应用Downward API存储卷配置信息223
6.4.1 环境变量式元数据注入223
6.4.2 存储卷式元数据注入226
6.5 本章小结228
第7章 Service与服务发现229
7.1 Service资源及其实现模型229
7.1.1 Service资源概述229
7.1.2 kube-proxy代理模型230
7.1.3 Service资源类型233
7.2 应用Service资源235
7.2.1 应用ClusterIP Service资源236
7.2.2 应用NodePort Service资源238
7.2.3 应用LoadBalancer Service资源240
7.2.4 外部IP241
7.3 Service与Endpoint资源242
7.3.1 Endpoint与容器探针243
7.3.2 自定义Endpoint资源245
7.4 深入理解Service资源247
7.4.1 iptables代理模型247
7.4.2 ipvs代理模型255
7.5 Kubernetes服务发现258
7.5.1 服务发现概述258
7.5.2 基于环境变量的服务发现259
7.5.3 基于DNS的服务发现260
7.5.4 Pod的DNS解析策略与配置263
7.5.5 配置CoreDNS264
7.6 Headless Service资源解析266
7.6.1 ExternalName Service266
7.6.2 Headless Service267
7.7 本章小结270
第8章 应用编排与管理271
8.1 Kubernetes控制器基础271
8.1.1 控制器与Pod资源272
8.1.2 Pod模板资源275
8.2 ReplicaSet控制器276
8.2.1 功能分析276
8.2.2 ReplicaSet基础应用277
8.2.3 应用更新与回滚280
8.2.4 应用扩容与缩容285
8.2.5 高级更新策略286
8.3 Deployment控制器291
8.3.1 Deployment基础应用291
8.3.2 Deployment更新策略294
8.3.3 应用更新与回滚296
8.3.4 金丝雀发布298
8.4 StatefulSet控制器300
8.4.1 功能分析300
8.4.2 StatefulSet基础应用302
8.4.3 扩缩容与滚动更新306
8.4.4 StatefulSet的局限性309
8.5 DaemonSet控制器310
8.5.1 DaemonSet资源基础应用311
8.5.2 DaemonSet更新策略313
8.6 Job控制器314
8.6.1 Job资源基础应用315
8.6.2 并行式Job与扩容机制318
8.7 CronJob控制器319
8.8 Pod中断预算321
8.9 本章小结324
第三部分 安全
第9章 认证、授权与准入控制326
9.1 Kubernetes访问控制326
9.1.1 用户账户与用户组327
9.1.2 认证、授权与准入控制基础328
9.1.3 测试使用API Server的访问控制机制332
9.2 ServiceAccount及认证336
9.2.1 ServiceAccount自动化336
9.2.2 ServiceAccount基础应用338
9.2.3 Pod资源上的服务账户340
9.3 X509数字证书认证342
9.3.1 Kubernetes的X509数字证书认证体系343
9.3.2 TLS Bootstrapping机制347
9.4 kubeconfig配置文件348
9.4.1 kubeconfig文件格式348
9.4.2 自定义kubeconfig文件350
9.4.3 X509数字证书身份凭据353
9.4.4 多kubeconfig文件与合并354
9.5 基于角色的访问控制:RBAC355
9.5.1 RBAC授权模型356
9.5.2 Role与ClusterRole358
9.5.3 RoleBinding与ClusterRole-Binding361
9.5.4 聚合型ClusterRole364
9.5.5 面向用户的内置ClusterRole366
9.6 认证与权限应用案例:Dashboard368
9.6.1 部署Dashboard368
9.6.2 认证与授权370
9.7 准入控制器372
9.7.1 准入控制器概述372
9.7.2 LimitRange373
9.7.3 ResourceQuota377
9.7.4 PodSecurityPolicy379
9.8 本章小结386
第10章 网络模型与网络策略387
10.1 容器网络模型387
10.1.1 容器网络通信模式387
10.1.2 CNI网络插件基础391
10.1.3 Overlay网络模型394
10.1.4 Underlay网络模型396
10.1.5 配置CNI插件400
10.1.6 CNI插件与选型404
10.2 Flannel网络插件406
10.2.1 Flannel配置基础406
10.2.2 VXLAN后端408
10.2.3 直接路由412
10.2.4 host-gw后端414
10.3 Calico网络插件416
10.3.1 Calico架构417
10.3.2 Calico配置基础419
10.3.3 IPIP隧道网络421
10.3.4 客户端工具calicoctl424
10.3.5 BGP网络与BGP Reflector426
10.4 网络策略430
10.4.1 网络策略与配置基础431
10.4.2 管控入站流量433
10.4.3 管控出站流量436
10.4.4 隔离名称空间438
10.4.5 Calico的网络策略439
10.5 本章小结441
第四部分 进阶
第11章 Pod资源调度444
11.1  Kubernetes调度器444
11.1.1 调度器基础445
11.1.2 经典调度策略449
11.1.3 调度器插件454
11.1.4 配置调度器456
11.2 节点亲和调度461
11.2.1 Pod节点选择器462
11.2.2 强制节点亲和463
11.2.3 首选节点亲和465
11.3 Pod亲和调度467
11.3.1 位置拓扑468
11.3.2 Pod间的强制亲和469
11.3.3 Pod间的首选亲和471
11.3.4 Pod间的反亲和关系473
11.4 节点污点与Pod容忍度475
11.4.1 污点与容忍度基础概念475
11.4.2 定义污点477
11.4.3 定义容忍度478
11.4.4 问题节点标识479
11.5 拓扑分布式调度480
11.6 Pod优先级与抢占481
11.7 本章小结483
第12章 Kubernetes系统扩展484
12.1 CRD484
12.1.1 CRD 基础应用485
12.1.2 打印字段与资源类别488
12.1.3 CRD子资源489
12.1.4 CRD v1beta1版本491
12.2 自定义API Server492
12.2.1 自定义API Server运行机制493
12.2.2 APIService资源与应用494
12.3 控制器与Operator496
12.3.1 自定义控制器的工作机制496
12.3.2 Operator与简单应用示例500
12.4 Kubernetes集群高可用503
12.4.1 etcd高可用与控制平面拓扑503
12.4.2 Controller Manager与Scheduler高可用505
12.4.3 部署高可用控制平面506
12.5 本章小结508
第13章 Ingress与服务发布509
13.1  Ingress资源509
13.1.1 Ingress与Ingress控制器流量转发509
13.1.2 Ingress资源规范511
13.1.3 Ingress资源类型515
13.2 Ingress控制器部署与应用517
13.2.1 Ingress Nginx部署与测试518
13.2.2 配置Ingress Nginx522
13.2.3 Ingress资源案例:发布Dashboard524
13.3 Contour控制器525
13.3.1 Envoy数据平面525
13.3.2 部署Contour529
13.3.3 HTTPProxy基础532
13.3.4 HTTPProxy高级路由533
13.3.5 HTTPProxy服务韧性539
13.3.6 TCP代理542
13.4 本章小结544
第五部分 必备生态组件
第14章 应用管理546
14.1 Kustomize声明式应用管理546
14.1.1 声明式应用管理基本用法547
14.1.2 应用配置分解549
14.1.3 配置生成器551
14.1.4 资源补丁553
14.2 Helm基础应用556
14.2.1 Helm基础556
14.2.2 Helm 3 快速入门558
14.3 Helm Chart562
14.3.1 Chart包结构与描述文件562
14.3.2 Chart中的依赖关系564
14.3.3 模板与值565
14.3.4 其他需要说明的话题567
14.3.5 自定义Chart简单示例568
14.4 Helm实践:部署Harbor注册中心575
14.4.1 部署方案与配置方式577
14.4.2 Harbor部署与测试582
14.5 本章小结585
第15章 资源指标与集群监控586
15.1 资源监控与资源指标586
15.1.1 资源监控与Heapster587
15.1.2 新一代监控体系与指标系统589
15.2 资源指标与应用591
15.2.1 部署Metrics Server591
15.2.2 显示资源使用信息595
15.3 自定义指标与Prometheus596
15.3.1 Prometheus基础597
15.3.2 Prometheus核心概念601
15.3.3 Prometheus查询语言604
15.3.4 监控Kubernetes606
15.3.5 自定义指标适配器616
15.4 自动弹性缩放621
15.4.1 HPA控制器概述622
15.4.2 HPA v1控制器622
15.4.3 HPA v2控制器624
15.5 本章小结629
第16章 集群日志系统630
16.1 集群日志系统基础630
16.1.1 日志系统概述631
16.1.2 Elasticsearch基础633
16.2 EFK日志管理系统636
16.2.1 Elasticsearch集群637
16.2.2 日志采集器Fluent Bit642
16.2.3 可视化组件Kibana647
16.3 本章小结650

教学资源推荐
作者: [美]托尼·加迪斯(Tony Gaddis)著
作者: 杨树林 胡洁萍 编著
作者: [英] 约翰·M. 斯图尔特(John M. Stewart) 著
作者: (美)Kenneth C.Louden
参考读物推荐
作者: (美)Stephen Ritchie 著
作者: Marina Fisher;Ray Lai;Sonu Sharma;Laurence Moroney
作者: [美]程润伟(John Cheng) 马克斯?格罗斯曼(Max Grossman) 泰•麦克切尔(Ty McKercher) 著