《Kubernetes实战》epub+mobi+azw3电子书

Docker的流行激活了一直不温不火的 PaaS,随之而来的是各类 Micro-PaaS的出现,Kubernetes是其中最具代表性的一员,它是 Google多年大规模容器管理技术的开源版本。越来越多的企业被迫面对互联网规模所带来的各类难题,而 Kubernetes以其优秀的理念和设计正在逐步形成新的技术标准,对于任何领域的运营总监、架构师和软件工程师来说,都是一个绝佳的突破机会。《Kubernetes实战》以理论加实战的模式,结合大量案例由浅入深地讲解了 Kubernetes的各个方面,包括平台架构、基础核心功能、网络、安全和资源管理以及整个生态系统的组成,旨在帮助读者全面深入地掌握 Kubernetes+Docker的底层技术堆栈。

Kubernetes是由谷歌开源的Docker容器集群管理系统,为容器化的应用提供了资源调度、部署运行、服务发现、扩容及缩容等一整套功能。本书从一个开发者的角度去理解、分析和解决问题,囊括了Kubernetes入门、核心原理、实践指南、开发指导、高级案例、运维指南及源码分析等方面的内容,图文并茂、内容丰富、由浅入深、讲解全面;并围绕着生产环境中可能出现的问题,给出了大量的典型案例,比如安全问题、网络方案的选择、高可用性方案及Trouble Shooting技巧等,有很强的可借鉴性。无论是对于软件工程师、测试工程师、运维工程师、软件架构师、技术经理,还是对于资深IT人士来说,本书都极具参考价值。

作者简介  · · · · · ·

吴龙辉 网宿科技云计算架构师,负责云平台的设计和研发工作。活跃于CloudFoundry、Docker、Kubernetes等开源社区,致力于云计算PaaS的研究,拥有丰富的云计算实践经验。

目录  · · · · · ·

第 1部分 Kubernetes基础篇
第 1章 Kubernetes介绍 ......................................... 2
1.1为什么会有 Kubernetes ................................................. 2
1.1.1云计算大潮 . 2
1.1.2不温不火的 PaaS ............................................... 5
1.1.3 Docker的逆袭 .................................................... 5
1.2 Kubernetes 是什么 . 7
1.3 Kubernetes的发展历史 ................................................. 8
1.4 Kubernetes的核心概念 ................................................. 9
1.4.1 Pod ............... 9
1.4.2 Replication Controller ......................................... 9
1.4.3 Service ......... 9
1.4.4 Label ............ 9
1.4.5 Node ............. 9
第 2章 Kubernetes的架构和部署 ......................... 10
2.1 Kubernetes的架构和组件 ........................................... 10
2.2 部署 Kubernetes .... 13
2.2.1环境准备 ... 14
2.2.2 运行 Etcd ... 15
2.2.3 获取 Kubernetes发布包 .................................. 16
2.2.4 运行 Kubernetes Master组件 .......................... 16
2.2.5 运行 Kubernetes Node组件 ............................. 17
2.2.6 查询 Kubernetes的健康状态 .......................... 18
2.2.7 创建 Kubernetes覆盖网络 .............................. 19
2.3 安装 Kubernetes扩展插件 .......................................... 22
2.3.1 安装 Cluster DNS............................................. 23
2.3.2 安装 Cluster Monitoring ................................... 28
2.3.3 安装 Cluster Logging ....................................... 36
2.3.4 安装 Kube UI ................................................... 43
第 3章 Kubernetes快速入门 ................................ 46
3.1示例应用 Guestbook .................................................... 46
3.2准备工作 ............... 47
3.3 运行 Redis ............. 48
3.3.1 创建 Redis Master Pod ..................................... 48
3.3.2 创建 Redis Master Service ............................... 49
3.3.3 创建 Redis Slave Pod ....................................... 51
3.3.4 创建 Redis Slave Service ................................. 53
3.4 运行 Frontend ........ 54
3.4.1 创建 Frontend Pod ............................................ 54
3.4.2 创建 Frontend Service...................................... 57
3.5 设置 Guestbook外网访问 ........................................... 57
3.6 清理 Guestbook ..... 59
第 4章 Pod .... 60
4.1国际惯例的 Hello World .............................................. 60
4.2 Pod的基本操作 .... 62
4.2.1 创建 Pod .... 62
4.2.2 查询 Pod .... 62
4.2.3 删除 Pod .... 65
4.2.4 更新 Pod .... 65
4.3 Pod与容器 ............ 65
4.3.1 镜像 ........... 66
4.3.2启动命令 ... 69
4.3.3环境变量 ... 70
4.3.4 端口 ........... 72
4.3.5数据持久化和共享 .......................................... 73
4.4 Pod的网络 ............ 74
4.5 Pod的重启策略 .... 75
4.6 Pod的状态和生命周期 ............................................... 77
4.6.1容器状态 ... 77
4.6.2 Pod的生命周期阶段 ....................................... 78
4.6.3生命周期回调函数 .......................................... 79
4.7自定义检查 Pod .... 81
4.7.1 Pod的健康检查 ............................................... 83
4.7.2 Pod的准备状况检查 ....................................... 84
4.8 调度 Pod ................ 85
4.9问题定位指南 ....... 87
4.9.1事件查询 ... 88
4.9.2日志查询 ... 88
4.9.3 Pod的临终遗言 ............................................... 89
4.9.4远程连接容器 .................................................. 90
第 5章 Replication Controller................................ 92
5.1持续运行的 Pod .... 92
5.2 Pod模板 ................ 94
5.3 Replication Controller和 Pod的关联 .......................... 96
5.4弹性伸缩 ............... 99
5.5自动伸缩 ............. 101
5.6滚动升级 ............. 104
5.7 Deployment .......... 107
5.8一次性任务的 Pod ..................................................... 112
第 6章 Service .................................................... 114
6.1 Service代理 Pod . 114
6.2 Service的虚拟 IP 118
6.3服务代理 ............. 119
6.4服务发现 ............. 123
6.4.1环境变量 . 124
6.4.2 DNS ......... 125
6.5 发布 Service ........ 128
6.5.1 NodePort Service ............................................ 128
6.5.2 LoadBalancer Service..................................... 129
6.5.3 Ingress ...... 130
第 7章 数据卷 ..................................................... 134
7.1 Kubernetes数据卷 ..................................................... 134
7.2本地数据卷 ......... 135
7.2.1 EmptyDir . 135
7.2.2 HostPath ... 136
7.3网络数据卷 ......... 137
7.3.1 NFS .......... 137
7.3.2 iSCSI ........ 138
7.3.3 GlusterFS . 140
7.3.4 RBD(Ceph Block Device)......................... 141
7.3.5 Flocker ..... 142
7.3.6 AWS Elastic Block Store................................ 143
7.3.7 GCE Persistent Disk ....................................... 144
7.4 Persistent Volume和 Persistent Volume Claim.......... 145
7.4.1 创建 Persistent Volume ................................... 147
7.4.2 创建 Persistent Volume Claim ........................ 149
7.5信息数据卷 ......... 151
7.5.1 Secret ....... 151
7.5.2 Downward API ............................................... 153
7.5.3 Git Repo ... 155
第 8章 访问 Kubernetes API ............................... 157
8.1 API对象与元数据 ..................................................... 157
8.2如何访问 Kubernetes API.......................................... 159
8.3使用命令行工具 kubectl ............................................ 160
8.3.1 配置 Kubeconfig............................................. 161
8.3.2 Kubernetes操作 ............................................. 163
8.3.3 API对象操作 ................................................. 164
8.3.4 Pod操作 .. 168
8.3.5 Replication Controller操作 ............................ 169
8.3.6 Service操作 ................................................... 170
第 2部分 Kubernetes高级篇
第 9章 Kubernetes网络 ..................................... 172
9.1 Docker网络模型 . 172
9.2 Kubernetes网络模型 ................................................. 173
9.3容器间通信 ......... 174
9.4 Pod间通信 .......... 176
9.4.1 Flannel实现 Kubernetes覆盖网络 ............... 177
9.4.2 使用 Open vSwitch实现 Kubernetes覆盖网络 ................................................... 180
9.5 Service到 Pod通信 ................................................... 183
9.5.1 Userspace模式 ............................................... 184
9.5.2 Iptables模式 ................................................... 186
第 10章 Kubernetes安全 ................................... 189
10.1 Kubernetes安全原则 ............................................... 189
10.2 Kubernetes API的安全访问 .................................... 189
10.2.1 HTTPS . 190
10.2.2认证与授权 ................................................ 191
10.2.3 准入控制 Admission Controller................. 194
10.3 Service Account . 195
10.3.1 使用默认 Service Account ......................... 196
10.3.2创建自定义 Service Account ..................... 199
10.3.3 Service Account添加 Image Pull Secret .... 201
10.4容器安全 ........... 202
10.4.1 Linux Capability ......................................... 202
10.4.2 SELinux ...................................................... 204
10.5 多租户 ............... 204
第 11章 Kubernetes资源管理 ............................ 206
11.1 Kubernetes资源模型 ............................................... 206
11.2资源请求和限制 207
11.3 Limit Range ....... 210
11.4 Resource Quota.. 215
第 12章 管理和运维 Kubernetes ......................... 219
12.1 Daemon Pod ....... 219
12.1.1 Static Pod .................................................... 219
12.1.2 Daemon Set ................................................ 221
12.2 Kubernetes的高可用性 ........................................... 222
12.3平台监控 ........... 224
12.3.1 cAdvisor ..................................................... 224
12.3.2 Heapster ...................................................... 228
12.4平台日志 ........... 230
12.5垃圾清理 ........... 234
12.5.1 镜像清理 .................................................... 235
12.5.2 容器清理 .................................................... 235
12.6 Kubernetes的 Web界面 .......................................... 235
第 3部分 Kubernetes生态篇
第 13章 CoreOS ................................................. 240
13.1 CoreOS介绍 ..... 240
13.2 CoreOS工具链 . 241
13.2.1 Etcd ...... 241
13.2.2 Flannel . 241
13.2.3 Rocket .. 241
13.2.4 Systemd ...................................................... 241
13.2.5 Fleet ..... 241
13.3 CoreOS实践 ..... 242
13.3.1 安装 CoreOS .............................................. 242
13.3.2 使用 CoreOS运行 Kubernetes .................. 245
第 14章 Etcd 247
14.1 Etcd介绍 ........... 247
14.2 Etcd的结构 .............................................................. 248
14.2.1 Client-to-Server .......................................... 249
14.2.2 Peer-to-Peer ................................................ 250
14.3 Etcd实践 ........... 250
14.3.1 运行 Etcd .................................................... 250
14.3.2 Etcd集群化 ................................................ 251
14.3.3 Etcd Proxy模式 ......................................... 258
14.3.4 Etcd的安全模式 ........................................ 259
第 15章 Mesos ................................................... 262
15.1 Mesos介绍 ........ 262
15.2 Mesos的架构 .... 263
15.3 Marathon和 K8SM介绍 ......................................... 264
15.3.1 Marathon..................................................... 264
15.3.2 K8SM .. 265
15.4 Mesos实践 ........ 266
15.4.1 运行 Mesos ................................................. 266
15.4.2 运行 Marathon ............................................ 268
15.4.3 运行 K8SM ................................................ 270

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: