书籍作者:吴龙辉 | ISBN:9787121283727 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:2634 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
Docker的流行激活了一直不温不火的 PaaS,随之而来的是各类 Micro-PaaS的出现,Kubernetes是其中*具代表性的一员,它是 Google多年大规模容器管理技术的开源版本。越来越多的企业被迫面对互联网规模所带来的各类难题,而 Kubernetes以其优秀的理念和设计正在逐步形成新的技术标准,对于任何领域的运营总监、架构师和软件工程师来说,都是突破机会。《Kubernetes实战》以理论加实战的模式,结合大量案例由浅入深地讲解了 Kubernetes的各个方面,包括平台架构、基础核心功能、网络、安*和资源管理以及整个生态系统的组成,旨在帮助读者*面深入地掌握 Kubernetes+Docker的底层技术堆栈。
吴龙辉 网宿科技云计算架构师,负责云平台的设计和研发工作。活跃于CloudFoundry、Docker、Kubernetes等开源社区,致力于云计算PaaS的研究,拥有丰富的云计算实践经验。
√ 一本围绕实战讲解Kubernetes如何落地的书
√ Kubernetes代表第三代 PaaS 技术尖端水平
√ 从基础架构到生态,*面解读容器集群管理
√ 集网络、存储、调度、大规模多示例于一身
随着互联网技术在各领域的广泛应用,所产生的海量数据催生了大数据的诞生。而对于数据中心的需求激活了云计算井喷式的发展,一时间大数据和云计算成为各个企业争夺的战略高地。
在云计算领域的服务模式中,IaaS和 SaaS模式已经趋于成熟,因此 PaaS就成了全球各大 IT巨头和初创公司的焦点,其中的竞争异常激烈。大量的 PaaS平台出现,又很快被淘汰,整个行业发生着巨大的迭代更替。正所谓物竞天择,在这样一个激荡变化的背景下,以 Docker为代表的容器技术脱颖而出并极速发热,风头无两,大多数主流云厂商已经宣布提供对 Docker及其生态系统的支持。容器技术具备融合 DevOps的敏捷特性,给云计算市场特别是 PaaS市场带来了新的变革力量, Kubernetes就是新一轮变革中产生的一个代表性产品。
Kubernetes是 Google开源的容器集群管理系统,它对于容器运行时、编排、常规服务都抽象设计出了准确完整的 API,并以此建立起一个开放开源的系统,符合企业化需求,每家企业都可以以此搭建出自动化和标准化的底层平台,以优化研发和运营效率。 Kubernetes可以说是 Google借助着容器领域的爆发,对于其巨大规模数据中心管理的丰富经验的一次实践,旨在建立新的技术业界标准。
展望未来,我们认为将有更多的企业被迫面对互联网规模所带来的各类难题, Kubernetes和 Docker技术可以提供应对这些挑战的解决方案。而随着更多企业的加入,会有更多的人以协作方式构建出更强大的技术堆栈和更多的创新成果,整个行业将朝着更好的方向持续迈进,对此我们乐观其成。
本书特点
本书采用的是理论加实战的模式,结合大量案例由浅入深讲解 Kubernetes的各个方面,包括平台架构、基础核心功能、网络、安全和资源管理,以及整个生态系统的组成。技术信息完全来源于 Kubernetes开源社区的文档、代码的提炼和总结。本书涉及的 Kubernetes内容与官方昀新版本同步,包含昀新版本的所有新特性说明,并且因为 Kubernetes同 Docker深度集成,所以本书也会阐述 Docker相关的技术话题。
本书的读者对象
本书适用于希望学习和使用 Kubernetes以及正在寻找管理数据中心解决方案的软件工程师和架构师,同时本书可以作为 Docker的高级延伸书籍,用于搭建基于 Kubernetes+Docker的 PaaS平台,实践 DevOps。
本书的组织结构
本书在组织结构上分成三部分:Kubernetes基础篇、 Kubernetes高级篇和 Kubernetes生态篇。基础篇可帮助读者认识 Kubernetes,并理解其架构和核心概念,同时能够部署和使用 Kubernetes完成基本功能操作。高级篇将深入讲解 Kubernetes的网络、安全和资源管理等话题,帮助读者掌握管理 Kubernetes的能力。生态篇则介绍与 Kubernetes密切相关的开源软件,包括 CoreOS、Etcd和 Mesos,使读者对于 Kubernetes生态系统有全面的了解。
第 1部分 Kubernetes基础篇
第 1章 Kubernetes介绍 2
11为什么会有 Kubernetes 2
111云计算大潮 2
112不温不火的 PaaS 5
113 Docker的逆袭 5
12 Kubernetes 是什么 7
13 Kubernetes的发展历史 8
14 Kubernetes的核心概念 9
141 Pod 9
142 Replication Controller 9
143 Service 9
144 Label 9
145 Node 9
第 2章 Kubernetes的架构和部署 10
21 Kubernetes的架构和组件 10
22 部署 Kubernetes 13
221环境准备 14
222 运行 Etcd 15
223 获取 Kubernetes发布包 16
224 运行 Kubernetes Master组件 16
225 运行 Kubernetes Node组件 17
226 查询 Kubernetes的健康状态 18
227 创建 Kubernetes覆盖网络 19
23 安装 Kubernetes扩展插件 22
231 安装 Cluster DNS 23
232 安装 Cluster Monitoring 28
233 安装 Cluster Logging 36
234 安装 Kube UI 43
第 3章 Kubernetes快速入门 46
31示例应用 Guestbook 46
32准备工作 47
33 运行 Redis 48
331 创建 Redis Master Pod 48
332 创建 Redis Master Service 49
333 创建 Redis Slave Pod 51
334 创建 Redis Slave Service 53
34 运行 Frontend 54
341 创建 Frontend Pod 54
342 创建 Frontend Service 57
35 设置 Guestbook外网访问 57
36 清理 Guestbook 59
第 4章 Pod 60
41国际惯例的 Hello World 60
42 Pod的基本操作 62
421 创建 Pod 62
422 查询 Pod 62
423 删除 Pod 65
424 更新 Pod 65
43 Pod与容器 65
431 镜像 66
432启动命令 69
433环境变量 70
434 端口 72
435数据持久化和共享 73
44 Pod的网络 74
45 Pod的重启策略 75
46 Pod的状态和生命周期 77
461容器状态 77
462 Pod的生命周期阶段 78
463生命周期回调函数 79
47自定义检查 Pod 81
471 Pod的健康检查 83
472 Pod的准备状况检查 84
48 调度 Pod 85
49问题定位指南 87
491事件查询 88
492日志查询 88
493 Pod的临终遗言 89
494远程连接容器 90
第 5章 Replication Controller 92
51持续运行的 Pod 92
52 Pod模板 94
53 Replication Controller和 Pod的关联 96
54弹性伸缩 99
55自动伸缩 101
56滚动升级 104
57 Deployment 107
58一次性任务的 Pod 112
第 6章 Service 114
61 Service代理 Pod 114
62 Service的虚拟 IP 118
63服务代理 119
64服务发现 123
641环境变量 124
642 DNS 125
65 发布 Service 128
651 NodePort Service 128
652 LoadBalancer Service 129
653 Ingress 130
第 7章 数据卷 134
71 Kubernetes数据卷 134
72本地数据卷 135
721 EmptyDir 135
722 HostPath 136
73网络数据卷 137
731 NFS 137
732 iSCSI 138
733 GlusterFS 140
734 RBD(Ceph Block Device) 141
735 Flocker 142
736 AWS Elastic Block Store 143
737 GCE Persistent Disk 144
74 Persistent Volume和 Persistent Volume Claim 145
741 创建 Persistent Volume 147
742 创建 Persistent Volume Claim 149
75信息数据卷 151
751 Secret 151
752 Downward API 153
753 Git Repo 155
第 8章 访问 Kubernetes API 157
81 API对象与元数据 157
82如何访问 Kubernetes API 159
83使用命令行工具 kubectl 160
831 配置 Kubeconfig 161
832 Kubernetes操作 163
833 API对象操作 164
834 Pod操作 168
835 Replication Controller操作 169
836 Service操作 170
第 2部分 Kubernetes高级篇
第 9章 Kubernetes网络 172
91 Docker网络模型 172
92 Kubernetes网络模型 173
93容器间通信 174
94 Pod间通信 176
941 Flannel实现 Kubernetes覆盖网络 177
942 使用 Open vSwitch实现 Kubernetes覆盖网络 180
95 Service到 Pod通信 183
951 Userspace模式 184
952 Iptables模式 186
第 10章 Kubernetes安全 189
101 Kubernetes安全原则 189
102 Kubernetes API的安全访问 189
1021 HTTPS 190
1022认证与授权 191
1023 准入控制 Admission Controller 194
103 Service Account 195
1031 使用默认 Service Account 196
1032创建自定义 Service Account 199
1033 Service Account添加 Image Pull Secret 201
104容器安全 202
1041 Linux Capability 202
1042 SELinux 204
105 多租户 204
第 11章 Kubernetes资源管理 206
111 Kubernetes资源模型 206
112资源请求和限制 207
113 Limit Range 210
114 Resource Quota 215
第 12章 管理和运维 Kubernetes 219
121 Daemon Pod 219
1211 Static Pod 219
1212 Daemon Set 221
122 Kubernetes的高可用性 222
123平台监控 224
1231 cAdvisor 224
1232 Heapster 228
124平台日志 230
125垃圾清理 234
1251 镜像清理 235
1252 容器清理 235
126 Kubernetes的 Web界面 235
第 3部分 Kubernetes生态篇
第 13章 CoreOS 240
131 CoreOS介绍 240
132 CoreOS工具链 241
1321 Etcd 241
1322 Flannel 241
1323 Rocket 241
1324 Systemd 241
1325 Fleet 241
133 CoreOS实践 242
1331 安装 CoreOS 242
1332 使用 CoreOS运行 Kubernetes 245
第 14章 Etcd 247
141 Etcd介绍 247
142 Etcd的结构 248
1421 Client-to-Server 249
1422 Peer-to-Peer 250
143 Etcd实践 250
1431 运行 Etcd 250
1432 Etcd集群化 251
1433 Etcd Proxy模式 258
1434 Etcd的安全模式 259
第 15章 Mesos 262
151 Mesos介绍 262
152 Mesos的架构 263
153 Marathon和 K8SM介绍 264
1531 Marathon 264
1532 K8SM 265
154 Mesos实践 266
1541 运行 Mesos 266
1542 运行 Marathon 268
1543 运行 K8SM 270