猜你喜欢
每天5分钟玩转Kubernetes

每天5分钟玩转Kubernetes

书籍作者:CloudMan ISBN:9787302496670
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:8370
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介
Kubernetes 是容器编排引擎的事实标准,是继大数据、云计算和 Docker 之后又一热门技术,而且未来相当一段时间内都会非常流行。对于IT行业来说,这是一项非常有价值的技术。对于IT从业者来说,掌握容器技术既是市场的需要,也是提升自我价值的重要途径。
《每天5分钟玩转Kubernetes》共15章,系统介绍了 Kubernetes 的架构、重要概念、安装部署方法、运行管理应用的技术、网络存储管理、集群监控和日志管理等重要内容。书中通过大量实操案例深入浅出地讲解 Kubernetes 核心技术,是一本从入门到进阶的实用Kubernetes 操作指导手册。读者在学习的过程中,可以跟着教程进行操作,在实践中掌握 Kubernetes 的核心技能。在之后的工作中,则可以将本教程作为参考书,按需查找相关知识点。
《每天5分钟玩转 Kubernetes》主要面向微服务软件开发人员,以及 IT 实施和运维工程师等相关人员,也适合作为高等院校和培训学校相关专业的教学参考书。

作者简介
CloudMan,十多年 IT 从业经验,就职于国际知名 IT 企业,从事 IT 基础设施实施服务,项目涉及服务器、存储、网络、虚拟化、云计算等方面。CloudMan 对新技术长期保持浓厚的兴趣和学习热情,十几年来一直专注 IT 技术领域的钻研与实践。
CloudMan 从2013 年开始接触 OpenStack,负责公司 OpenStack 相关服务的规划和实施工作;从2015 年开始研究 Docker 和 Kubernetes,是容器技术的深度实践者,有很强的实战经验和技能;在其公众号 cloudman6 连载相关文章,并出版图书《每天5分钟玩转OpenStack》和《每天5分钟玩转Docker容器技术》,得到读者广泛认可。CloudMan 希望通过本书大幅降低学习难度,帮助大家系统地学习和掌握 Kubernetes。
编辑推荐

容器技术是继大数据和云计算之后又一热门技术,而且未来相当一段时间内都会非常流行
对 IT 从业者来说,掌握容器技术是市场的需要,也是提升自我价值的重要途径
每一轮新技术的兴起,无论对公司还是个人既是机遇也是挑战

前言
前 言
写在最前面
《每天5分钟玩转 Kubernetes》是一本系统学习 Kubernetes 的教程,有下面两个特点:
? 系统讲解当前最流行的容器编排引擎 Kubernetes
包括安装部署、应用管理、网络、存储、监控、日志管理等多个方面。
? 重实践并兼顾理论
通过大量实验和操作带领大家学习 Kubernetes。
为什么要写这个
因为 Kubernetes 非常热门,但学习门槛高。
2017年9月,Mesosphere宣布支持 Kubernetes;10月,Docker 宣布将在新版本中加入对Kubernetes的原生支持。至此,容器编排引擎领域的三足鼎立时代结束,Kubernetes赢得全面胜利。
其实早在2015年5月,Kubernetes在Google上的搜索热度就已经超过了Mesos和Docker Swarm,从那之后便是一路飙升,将对手“甩开了十几条街”。

目前,AWS、Azure、Google、阿里云、腾讯云等主流公有云提供的是基于 Kubernetes 的容器服务。Rancher、CoreOS、IBM、Mirantis、Oracle、Red Hat、VMWare 等无数厂商也在大力研发和推广基于 Kubernetes 的容器 CaaS 或 PaaS 产品。可以说,Kubernetes 是当前容器行业最热门的。
每一轮新技术的兴起,无论对公司还是个人既是机会也是挑战。这项新技术未来必将成为主流,那么作为 IT 从业者,正确的做法就是尽快掌握。因为:
(1)新技术意味着新的市场和新的需求。初期掌握这种技术的人不是很多,而市场需求会越来越大,因而会形成供不应求的卖方市场,物以稀为贵,这对技术人员将是一个难得的价值提升机会。
(2)学习新技术需要时间和精力,早起步早成材。
机会讲过了,咱们再来看看挑战。
新技术往往意味着技术上的突破和创新,会有不少新的概念和方法。
对于 Kubernetes 这项平台级技术,覆盖的技术范围非常广,包括计算、网络、存储、高可用、监控、日志管理等多个方面,要掌握这些新技术对 IT 老兵尚有不小难度,更别说新人了。
写给谁看
这套教程的目标读者包括:
IT 实施和运维工程师
越来越多的应用将以容器的方式在开发、测试和生产环境中运行。掌握基于 Kubernetes 的容器平台运维能力将成为实施和运维工程师的核心竞争力。
软件开发人员
基于容器的微服务架构(Microservice Architecture)会逐渐成为开发应用系统的主流,而Kubernetes 将是运行微服务应用的理想平台,市场将需要大量具备 Kubernetes 技能的应用程序开发人员。
我自己
CloudMan 坚信最好的学习方法是分享。编写这本教程的同时也是对自己学习和实践 Kubernetes 技术的总结。对于知识,只有把它写出来并能够让其他人理解,才能说明自己真正掌握了。

著 者
2018年1月

目录

目 录

第1章 先把 Kubernetes 跑起来 1

1.1 先跑起来 1

1.2 创建 Kubernetes 集群 2

1.3 部署应用 4

1.4 访问应用 5

1.5 Scale 应用 6

1.6 滚动更新 7

1.7 小结 8

第2章 重要概念 9

第3章 部署 Kubernetes Cluster 13

3.1 安装 Docker 14

3.2 安装 kubelet、kubeadm 和 kubectl 14

3.3 用 kubeadm 创建 Cluster 14

3.3.1 初始化Master 14

3.3.2 配置 kubectl 16

3.3.3 安装Pod网络 16

3.3.4 添加 k8s-node1 和 k8s-node2 16

3.4 小结 18

第4章 Kubernetes 架构 19

4.1 Master 节点 19

4.2 Node 节点 20

4.3 完整的架构图 21

4.4 用例子把它们串起来 22

4.5 小结 24

第5章 运行应用 25

5.1 Deployment 25

5.1.1 运行Deployment 25

5.1.2 命令 vs 配置文件 29

5.1.3 Deployment 配置文件简介 30

5.1.4 伸缩 31

5.1.5 Failover 33

5.1.6 用label 控制 Pod 的位置 33

5.2 DaemonSet 36

5.2.1 kube-flannel-ds 36

5.2.2 kube-proxy 37

5.2.3 运行自己的 DaemonSet 38

5.3 Job 40

5.3.1 Pod 失败的情况 41

5.3.2 Job 的并行性 43

5.3.3 定时 Job 45

5.4 小结 48

第6章 通过 Service 访问 Pod 49

6.1 创建 Service 49

6.2 Cluster IP 底层实现 51

6.3 DNS 访问 Service 53

6.4 外网如何访问 Service 55

6.5 小结 58

第7章 Rolling Update 59

7.1 实践 59

7.2 回滚 61

7.3 小结 63

第8章 Health Check 64

8.1 默认的健康检查 64

8.2 Liveness 探测 65

8.3 Readiness 探测 67

8.4 Health Check 在 Scale Up 中的应用 69

8.5 Health Check 在滚动更新中的应用 71

8.6 小结 75

第9章 数据管理 76

9.1 Volume 76

9.1.1 emptyDir 76

9.1.2 hostPath 78

9.1.3 外部 Storage Provider 79

9.2 PersistentVolume & PersistentVolumeClaim 81

9.2.1 NFS PersistentVolume 81

9.2.2 回收 PV 84

9.2.3 PV 动态供给 86

9.3 一个数据库例子 87

9.4 小结 91

第10章 Secret & Configmap 92

10.1 创建 Secret 92

10.2 查看 Secret 93

10.3 在Pod中使用Secret 94

10.3.1 Volume 方式 94

10.3.2 环境变量方式 96

10.4 ConfigMap 97

10.5 小结 100

第11章 Helm—Kubernetes的包管理器 101

11.1 Why Helm 101

11.2 Helm 架构 103

11.3 安装 Helm 104

11.3.1 Helm 客户端 104

11.3.2 Tiller服务器 105

11.4 使用Helm 106

11.5 chart 详解 109

11.5.1 chart 目录结构 109

11.5.2 chart 模板 113

11.5.3 再次实践 MySQL chart 115

11.5.4 升级和回滚 release 118

11.5.5 开发自己的 chart 119

11.6 小结 126

第12章 网 络 127

12.1 Kubernetes 网络模型 127

12.2 各种网络方案 128

12.3 Network Policy 129

12.3.1 部署 Canal 129

12.3.2 实践 Network Policy 130

12.4 小结 135

第13章 Kubernetes Dashboard 136

13.1 安装 136

13.2 配置登录权限 137

13.3 Dashboard 界面结构 139

13.4 典型使用场景 140

13.4.1 部署 Deployment 140

13.4.2 在线操作 141

13.4.3 查看资源详细信息 142

13.4.4 查看 Pod 日志 142

13.5 小结 143

第14章 Kubernetes 集群监控 144

14.1 Weave Scope 144

14.1.1 安装 Scope 144

14.1.2 使用 Scope 145

14.2 Heapster 151

14.2.1 部署 151

14.2.2 使用 152

14.3 Prometheus Operator 155

14.3.1 Prometheus 架构 159

14.3.2 Prometheus Operator 架构 161

14.3.3 部署 Prometheus Operator 162

14.4 小结 167

第15章 Kubernetes 集群日志管理 168

15.1 部署 168

15.2 小结 173

写在最后 174

产品特色