猜你喜欢
管理Kubernetes

管理Kubernetes

书籍作者:Brendan ISBN:9787519840105
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:3472
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书主要内容

§ 学习如何操作集群,开发人员如何利用Kubernetes部署应用程序,以及如何利用Kubernetes减轻开发人员的负担。

§ 通过掌握Kubernetes API以及配置选项来调整、保护,以及调节集群。

§ 检测集群级别的问题,学习必要的响应步骤并快速恢复集群。

§ 确定如何以及何时添加构建、扩展或以其他方式改进Kubernetes集群的库、工具和平台。


作者简介

作者介绍

Brendan Burns是Kubernetes开源容器管理平台的联合创始人。他是微软杰出的工程师,负责管理微软的Azure资源管理器和Azure容器服务团队。在加入微软之前,他曾是谷歌云平台的高级工程师。

Craig Tracey曾构建了支持互联网的基础设施,包括从内核设备驱动程序到大规模云存储服务的所有技术。在加入Heptio后,他由软件开发人员转为了现场工程师,帮助该公司采用了Kubernetes,并通过代码向员工们介绍云原生架构的原则。


前言

本书的读者对象

本书面向企业内部或云端Kubernetes 集群的运营操作人员,以及希望深入了解Kubernetes 的架构、安装,以及维护的工作人员。虽然本书的部分内容对于Kubernetes 用户或开发人员也有帮助,但本书的内容实际上比大部分Kubernetes 用户需要了解的内容更接近底层。本书的详细内容主要面向运维人员,帮助他们确保集群健康、安全,保证开发人员可以在Kubernetes 上构建应用程序。

为什么创作本书

虽然有关Kubernetes 的在线资源和书籍越来越多,向用户介绍如何以最佳方式利用Kubernetes 来构建和部署应用程序,但是面向安装、维护和升级Kubernetes 集群的运维人员的资源相对较少。本书弥补了这一空缺,并简要介绍了为自己或他人操作Kubernetes 的所需的信息。

如今,Kubernetes 无处不在,Kubernetes 是管理容器和构建云原生应用程序的最常见方式。事实上,所有主流的公共云都提供了Kubernetes 即服务。但对于许多人来说,这种服务一点也不吸引人。有时因为监管的原因,你需要将数据保存在医或金融机构内部部署的环境中;有时你可能需要在偏远的机场或油田上操作Kubernetes,你无法在这些地方有限的带宽下使用云。这时候,你可能就想掌握在这样的环境中运行Kubernetes 所需的技术。

我们希望通过本书分享我们在运维各种Kubernetes 时获得的知识。我们希望本书能够为你提供经验上的优势,免去为了获得这种经验而经历的尝试与磨难。

本书的组织结构

本书总结了运营Kubernetes 的方式,并深入讲解了成功管理Kubernetes 集群所需的各个主题。在第1 章简要介绍了各种主题后,第2~5 章详细介绍了Kubernetes 架构和组件的细节。这些章节概述了Kubernetes 的各个组件,以及如何结合这些组件实现Kubernetes API。此外,第4 章还详细介绍了关于处理Kubernetes API 请求的详细信息,而第5 章则专门介绍了将pod 调度到集群中的方法。深入了解Kubernetes 的运作方式可以帮助你在出现问题时,更好地服务于用户。

本书的其余章节专门讲解了管理Kubernetes 集群所需的特定主题,包括安装和升级Kubernetes(第6 章);用户管理、身份认证和授权(第7、8 章);准入控制(第9 章);Kubernetes 网络(第10 章);监控和灾难恢复(第11、12 章);第13 章专门讲解了扩展Kubernetes 集群的各种方式。

内容约定

本书使用了下述排版约定。

斜体(Italic)

表示新术语、URL、示例电子邮件地址、文件名和扩展名。

等宽字体(Constant Width)

表示代码,在段内用以表示与代码相关的元素,例如变量或函数名、数据库、数据类型、环境变量、声明和关键字。

等宽粗体字(Constant width bold)

表示命令或其他用户输入的文本。

斜体等宽字体(Constant Width Italic)

表示该文本应当由用户提供的值或由用户根据上下文决定的值替换。

使用代码示例

你可以通过如下链接下载本书的补充材料(代码示例,练习等):https://github.com/managing-kubernetes/managing-kubernetes。

本书的目的是帮助你完成工作。一般来说,你可以在自己的程序或者文档中使用本书附带的示例代码。你无需联系我们来获得使用许可,除非你要复制大量的代码。例如,使用本书中的多个代码片段编写程序就无需获得许可。但以CD-ROM的形式销售或者分发O’Reilly 书中的示例代码则需要获得许可。回答问题时援本书内容以及书中示例代码,无需获得许可。在你自己的项目文档中使用本书大量的示例代码时,则需要获得许可。

我们不强制要求版权声明,但如果你这么做,我们深表感激。版权声明一般包括书名、作者、出版社和国际标准图书编号。例如:“Managing Kubernetes by Brendan Burns and Craig Tracey (O’Reilly). Copyright 2019 Brendan Burns and Craig Tracey, 978-1-492-03391-2”。

如果你觉得自身情况不在合理使用或上述允许的范围内,请通过邮件和我们联系,地址:[email protected]

O’Reilly Safari

Safari(以前的Safari Books Online)是面向企业、政府、教育和个人的会员制培训与参考平台。

Safari 的会员可以访问成千上万的书籍、培训视频、学习路径、交互式教程和推荐的书单。这些内容由250 多家出版社提供,其中包括:O’Reilly Media、Harvard Business Review、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Adobe、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones & Bartlett 和Course Technology 等。

更多关于Safari 的信息,请访问我们的网站:http://oreilly.com/safari。

意见和疑问

请把你对本书的意见和疑问发给出版社:美国:

O’Reilly Media, Inc.

1005 Gravenstein Highway North

Sebastopol, CA 95472

中国:

北京市西城区西直门南大街2号成铭大厦C座807室(100035)

奥莱利技术咨询(北京)有限公司

这本书有专属网页,你可以在那儿找到本书的勘误、示例和其他信息。这个网页的地址:http://bit.ly/managing-kubernetes。

如果你对本书有一些评论或技术上的建议, 请发送电子邮件到[email protected]

要了解O’Reilly 图书、培训课程、会议和新闻的更多信息,请访问我们的网站,地址:http://www.oreilly.com。

请在Facebook 上联系我们,地址:http://facebook.com/oreilly。

请在Twitter 上关注我们,地址:http://twitter.com/oreillymedia。

请观看我们的Youtube 视频,地址:http://www.youtube.com/oreillymedia。

致谢

作者Brendan 感谢他的家人Robin、Julia 和Ethan 给予他的一切爱与支持。

还有Kubernetes 社区,没有他们,就没有这本书。

作者Craig 感谢他的家人,尤其是他的妻子,他们一直支持着他所有的疯狂梦想。

我们感谢Scott Collier、Lacie Evenson、Sebastien Goasguen、Erik St.Martin,JérômePetazzoni、Ben Straub 和Jason Yee 对早期手稿的反馈。还要感谢Nikki McDonald 和Virginia Wilson 辛苦地编辑了手稿,并帮助我们将所有想法都整合到了一起。感谢Justin Billing、Shannon Wright 和Chris Edwards 最后的润色。


目录

前言 .1

第1 章 绪论 .7

1.1 集群如何运作 .8

1.2 调整、保护以及调节集群 .9

1.3 出现问题时做出响应 10

1.4 通过新功能和自定义的功能扩展系统 .11

1.5 小结 12

第2 章 Kubernetes 概述 13

2.1 容器 13

2.2 容器编排 .15

2.3 Kubernetes API 16

2.4 小结 27

第3 章 Kubernetes 的架构 . 29

3.1 概念 29

3.2 结构 33

3.3 组件 35

3.4 小结 40

第4 章 Kubernetes API 服务器 . 41

4.1 可管理性的基本特征 41

4.2 API 服务器的组成部分 42

4.3 请求管理 .49

4.4 API 服务器内部 59

4.5 调试API 服务器 .60

4.6 小结 62

第5 章 调度器 63

5.1 概述 63

5.2 调度的过程 64

5.3 通过标签、亲和性、污点和容忍来控制调度 67

5.4 小结 72

第6 章 安装Kubernetes 73

6.1 kubeadm 73

6.2 安装控制平面 76

6.3 安装工作节点 83

6.4 插件 85

6.5 阶段 85

6.6 高可用性 .86

6.7 升级 86

6.8 小结 89

第7 章 身份认证与用户管理 91

7.1 用户 92

7.2 身份认证 .93

7.3 kubeconfig 102

7.4 服务账号 104

7.5 小结 106

第8 章 授权 107

8.1 REST .107

8.2 授权 108

8.3 基于角色的访问控制 . 110

8.4 小结 116

第9 章 准入控制 117

9.1 配置 118

9.2 常见的控制器 118

9.3 动态准入控制器 123

9.4 小结 130

第10 章 网络 . 131

10.1 容器网络接口 .131

10.2 kube-proxy 134

10.3 服务发现 136

10.4 网络策略 138

10.5 服务网格 140

10.6 小结 .141

第11 章 监控Kubernetes . 143

11.1 监控目标 143

11.2 日志与监控之间的差异145

11.3 构建监控栈 146

11.4 监控的内容 151

11.5 小结 .157

第12 章 灾难恢复 . 159

12.1 高可用性 159

12.2 状态 .160

12.3 应用数据 161

12.4 工作节点 162

12.5 etcd 163

12.6 Ark 164

12.7 小结 .166

第13 章 扩展Kubernetes . 167

13.1 Kubernetes 的扩展点 167

13.2 集群的守护程序 .168

13.3 集群助手 171

13.4 延长API 服务器的生命周期 174

13.5 向Kubernetes 添加自定义API 177

13.6 小结 .181

第14 章 总结 . 183


产品特色