图书介绍
博文视点云原生精品丛书 Kubernetes权威指南 从Docker到Kubernetes实践全接触 第4版PDF|Epub|txt|kindle电子书版本网盘下载
![博文视点云原生精品丛书 Kubernetes权威指南 从Docker到Kubernetes实践全接触 第4版](https://www.shukui.net/cover/31/32450221.jpg)
- 龚正,吴治辉,崔秀龙等编著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121362354
- 出版时间:2019
- 标注页数:806页
- 文件大小:66MB
- 文件页数:826页
- 主题词:Linux操作系统-程序设计-指南
PDF下载
下载说明
博文视点云原生精品丛书 Kubernetes权威指南 从Docker到Kubernetes实践全接触 第4版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Kubernetes入门1
1.1 Kubernetes是什么2
1.2 为什么要用Kubernetes5
1.3 从一个简单的例子开始6
1.3.1 环境准备7
1.3.2 启动MySQL服务7
1.3.3 启动Tomcat应用10
1.3.4 通过浏览器访问网页12
1.4 Kubernetes的基本概念和术语13
1.4.1 Master16
1.4.2 Node16
1.4.3 Pod19
1.4.4 Label24
1.4.5 Replication Controller28
1.4.6 Deployment31
1.4.7 Horizontal Pod Autoscaler34
1.4.8 StatefulSet36
1.4.9 Service37
1.4.10 Job45
1.4.11 Volume45
1.4.12 Persistent Volume49
1.4.13 Namespace51
1.4.14 Annotation52
1.4.15 ConfigMap53
1.4.16 小结54
第2章 Kubernetes安装配置指南55
2.1 系统要求56
2.2 使用kubeadm工具快速安装Kubernetes集群57
2.2.1 安装kubeadm和相关工具57
2.2.2 kubeadm config58
2.2.3 下载Kubernetes的相关镜像59
2.2.4 运行kubeadm init命令安装Master59
2.2.5 安装Node,加入集群61
2.2.6 安装网络插件62
2.2.7 验证Kubernetes集群是否安装完成63
2.3 以二进制文件方式安装Kubernetes集群64
2.3.1 Master上的etcd、kube-apiserver、kube-controller-manager、kube-scheduler服务66
2.3.2 Node上的kubelet、kube-proxy服务71
2.4 Kubernetes集群的安全设置73
2.4.1 基于CA签名的双向数字证书认证方式73
2.4.2 基于HTTP Base或Token的简单认证方式78
2.5 Kubernetes集群的网络配置80
2.6 内网中的Kubernetes相关配置80
2.6.1 Docker Private Registry(私有Docker镜像库)80
2.6.2 kubelet配置81
2.7 Kubernetes的版本升级81
2.7.1 二进制升级81
2.7.2 使用kubeadm进行集群升级82
2.8 Kubernetes核心服务配置详解84
2.8.1 公共配置参数84
2.8.2 kube-apiserver启动参数85
2.8.3 kube-controller-manager启动参数97
2.8.4 kube-scheduler启动参数107
2.8.5 kubelet启动参数113
2.8.6 kube-proxy启动参数128
2.9 CRI(容器运行时接口)详解132
2.9.1 CRI概述132
2.9.2 CRI的主要组件133
2.9.3 Pod和容器的生命周期管理133
2.9.4 面向容器级别的设计思路135
2.9.5 尝试使用新的Docker-CRI来创建容器136
2.9.6 CRI的进展137
2.10 kubectl命令行工具用法详解137
2.10.1 kubectl用法概述137
2.10.2 kubectl子命令详解139
2.10.3 kubectl参数列表142
2.10.4 kubectl输出格式143
2.10.5 kubectl操作示例145
第3章 深入掌握Pod149
3.1 Pod定义详解150
3.2 Pod的基本用法156
3.3 静态Pod161
3.4 Pod容器共享Volume162
3.5 Pod的配置管理165
3.5.1 ConfiigMap概述165
3.5.2 创建ConfigMap资源对象165
3.5.3 在Pod中使用ConfiigMap173
3.5.4 使用ConfigMap的限制条件179
3.6 在容器内获取Pod信息(Downward API)180
3.6.1 环境变量方式:将Pod信息注入为环境变量180
3.6.2 环境变量方式:将容器资源信息注入为环境变量182
3.6.3 Volume挂载方式184
3.7 Pod生命周期和重启策略186
3.8 Pod健康检查和服务可用性检查187
3.9 玩转Pod调度190
3.9.1 Deployment或RC:全自动调度193
3.9.2 NodeSelector:定向调度194
3.9.3 NodeAffinity:Node亲和性调度197
3.9.4 PodAffinity:Pod亲和与互斥调度策略198
3.9.5 Taints和Tolerations(污点和容忍)202
3.9.6 Pod Priority Preemption:Pod优先级调度206
3.9.7 DaemonSet:在每个Node上都调度一个Pod209
3.9.8 Job:批处理调度211
3.9.9 Cronjob:定时任务215
3.9.10 自定义调度器219
3.10 Init Container(初始化容器)220
3.11 Pod的升级和回滚224
3.11.1 Deployment的升级225
3.11.2 Deployment的回滚231
3.11.3 暂停和恢复Deployment的部署操作,以完成复杂的修改234
3.11.4 使用kubectl rolling-update命令完成RC的滚动升级236
3.11.5 其他管理对象的更新策略239
3.12 Pod的扩缩容240
3.12.1 手动扩缩容机制240
3.12.2 自动扩缩容机制241
3.13 使用StatefulSet搭建MongoDB集群264
3.13.1 前提条件264
3.13.2 创建StatefulSet265
3.13.3 查看MongoDB集群的状态269
3.13.4 StatefulSet的常见应用场景271
第4章 深入掌握Service276
4.1 Service定义详解277
4.2 Service的基本用法279
4.2.1 多端口Service282
4.2.2 外部服务Service283
4.3 Headless Service284
4.3.1 自定义SeedProvider285
4.3.2 通过Service动态查找Pod286
4.3.3 Cassandra集群中新节点的自动添加289
4.4 从集群外部访问Pod或Service291
4.4.1 将容器应用的端口号映射到物理机291
4.4.2 将Service的端口号映射到物理机292
4.5 DNS服务搭建和配置指南294
4.5.1 在创建DNS服务之前修改每个Node上kubelet的启动参数296
4.5.2 创建CoreDNS应用297
4.5.3 服务名的DNS解析301
4.5.4 CoreDNS的配置说明302
4.5.5 Pod级别的DNS配置说明304
4.6 Ingress:HTTP7层路由机制306
4.6.1 创建Ingress Controller和默认的backend服务307
4.6.2 定义Ingress策略311
4.6.3 客户端访问http://mywebsite.com/demo313
4.6.4 Ingress的策略配置技巧316
4.6.5 Ingress的TLS安全设置320
第5章 核心组件运行机制326
5.1 Kubernetes API Server原理解析327
5.1.1 Kubernetes API Server概述327
5.1.2 API Server架构解析330
5.1.3 独特的Kubernetes Proxy API接口334
5.1.4 集群功能模块之间的通信336
5.2 Controller Manager原理解析337
5.2.1 Replication Controller338
5.2.2 Node Controller339
5.2.3 ResourceQuota Controller341
5.2.4 Namespace Controller343
5.2.5 Service Controller与Endpoints Controller343
5.3 Scheduler原理解析344
5.4 kubelet运行机制解析348
5.4.1 节点管理349
5.4.2 Pod管理349
5.4.3 容器健康检查351
5.4.4 cAdvisor资源监控352
5.5 kube-proxy运行机制解析354
第6章 深入分析集群安全机制358
6.1 API Server认证管理359
6.2 API Server授权管理361
6.2.1 ABAC授权模式详解362
6.2.2 Webhook授权模式详解365
6.2.3 RBAC授权模式详解368
6.3 Admission Control384
6.4 Service Account388
6.5 Secret私密凭据393
6.6 Pod的安全策略配置396
6.6.1 PodSecurityPolicy的工作机制397
6.6.2 PodSecurityPolicy配置详解399
6.6.3 Pod的安全设置详解406
第7章 网络原理410
7.1 Kubernetes网络模型411
7.2 Docker网络基础413
7.2.1 网络命名空间413
7.2.2 Veth设备对416
7.2.3 网桥419
7.2.4 iptables和Netfiilter421
7.2.5 路由424
7.3 Docker的网络实现426
7.4 Kubernetes的网络实现435
7.4.1 容器到容器的通信435
7.4.2 Pod之间的通信436
7.5 Pod和Service网络实战439
7.6 CNI网络模型454
7.6.1 CNM模型454
7.6.2 CNI模型455
7.6.3 在Kubernetes中使用网络插件467
7.7 Kubernetes网络策略467
7.7.1 网络策略配置说明468
7.7.2 在Namespace级别设置默认的网络策略470
7.7.3 NetworkPolicy的发展472
7.8 开源的网络组件472
7.8.1 Flannel472
7.8.2 Open vSwitch477
7.8.3 直接路由483
7.8.4 Calico容器网络和网络策略实战486
第8章 共享存储原理508
8.1 共享存储机制概述509
8.2 PV详解510
8.2.1 PV的关键配置参数511
8.2.2 PV生命周期的各个阶段515
8.3 PVC详解516
8.4 PV和PVC的生命周期518
8.4.1 资源供应518
8.4.2 资源绑定519
8.4.3 资源使用519
8.4.4 资源释放519
8.4.5 资源回收519
8.5 StorageClass详解521
8.5.1 StorageClass的关键配置参数521
8.5.2 设置默认的StorageClass524
8.6 动态存储管理实战:GlusterFS524
8.6.1 准备工作525
8.6.2 创建GlusterFS管理服务容器集群525
8.6.3 创建Heketi服务528
8.6.4 为Heketi设置GlusterFS集群530
8.6.5 定义StorageClass533
8.6.6 定义PVC534
8.6.7 Pod使用PVC的存储资源536
8.7 CSI存储机制详解537
8.7.1 CSI的设计背景538
8.7.2 CSI存储插件的关键组件和部署架构539
8.7.3 CSI存储插件的使用示例540
8.7.4 CSI的发展556
第9章 Kubernetes开发指南560
9.1 REST简述561
9.2 Kubernetes API详解563
9.2.1 Kubernetes API概述563
9.2.2 Kubernetes API版本的演进策略570
9.2.3 API Groups(API组)571
9.2.4 API REST的方法说明573
9.2.5 API Server响应说明575
9.3 使用Java程序访问Kubernetes API577
9.3.1 Jersey577
9.3.2 Fabric8590
9.3.3 使用说明591
9.3.4 其他客户端库615
9.4 Kubernetes API的扩展616
9.4.1 使用CRD扩展API资源617
9.4.2 使用API聚合机制扩展API资源626
第10章 Kubernetes集群管理635
10.1 Node的管理636
10.1.1 Node的隔离与恢复636
10.1.2 Node的扩容637
10.2 更新资源对象的Label638
10.3 Namespace:集群环境共享与隔离639
10.3.1 创建Namespace639
10.3.2 定义Context(运行环境)640
10.3.3 设置工作组在特定Context环境下工作641
10.4 Kubernetes资源管理643
10.4.1 计算资源管理645
10.4.2 资源配置范围管理(LimitRange)655
10.4.3 资源服务质量管理(Resource QoS)662
10.4.4 资源配额管理(Resource Quotas)670
10.4.5 ResourceQuota和LimitRange实践676
10.4.6 资源管理总结685
10.5 资源紧缺时的Pod驱逐机制686
10.5.1 驱逐策略686
10.5.2 驱逐信号686
10.5.3 驱逐阈值688
10.5.4 驱逐监控频率689
10.5.5 节点的状况689
10.5.6 节点状况的抖动690
10.5.7 回收Node级别的资源690
10.5.8 驱逐用户的Pod691
10.5.9 资源最少回收量692
10.5.10 节点资源紧缺情况下的系统行为692
10.5.11 可调度的资源和驱逐策略实践694
10.5.12 现阶段的问题694
10.6 Pod Disruption Budget(主动驱逐保护)695
10.7 Kubernetes集群的高可用部署方案697
10.7.1 手工方式的高可用部署方案698
10.7.2 使用kubeadm的高可用部署方案709
10.8 Kubernetes集群监控717
10.8.1 通过Metrics Server监控Pod和Node的CPU和内存资源使用数据717
10.8.2 Prometheus+Grafana集群性能监控平台搭建720
10.9 集群统一日志管理732
10.9.1 系统部署架构733
10.9.2 创建Elasticsearch RC和Service733
10.9.3 在每个Node上启动Fluentd736
10.9.4 运行Kibana738
10.10 Kubernetes的审计机制742
10.11 使用Web UI(Dashboard)管理集群746
10.12 Helm:Kubernetes应用包管理工具750
10.12.1 Helm概述750
10.12.2 Helm的主要概念751
10.12.3 安装Helm751
10.12.4 Helm的常见用法752
10.12.5 --set的格式和限制756
10.12.6 更多的安装方法757
10.12.7 helm upgrade和helm rollback:应用的更新或回滚757
10.12.8 helm install/upgrade/rollback命令的常用参数758
10.12.9 helm delete:删除一个Release759
10.12.10 helm repo:仓库的使用759
10.12.11 自定义Chart759
10.12.12 对Chart目录结构和配置文件的说明759
10.12.13 对Chart.yaml文件的说明760
10.12.14 快速制作自定义的Chart761
10.12.15 搭建私有Repository761
第11章 Trouble Shooting指导763
11.1 查看系统Event764
11.2 查看容器日志766
11.3 查看Kubernetes服务日志767
11.4 常见问题769
11.4.1 由于无法下载pause镜像导致Pod一直处于Pending状态769
11.4.2 Pod创建成功,但RESTARTS数量持续增加771
11.4.3 通过服务名无法访问服务772
11.5 寻求帮助773
第12章 Kubernetes开发中的新功能777
12.1 对Windows容器的支持778
12.1.1 Windows Node部署778
12.1.2 Windows容器支持的Kubernetes特性和发展趋势790
12.2 对GPU的支持791
12.2.1 环境准备792
12.2.2 在容器中使用GPU资源795
12.2.3 发展趋势797
12.3 Pod的垂直扩缩容797
12.3.1 前提条件798
12.3.2 安装Vertical Pod Autoscaler798
12.3.3 为Pod设置垂直扩缩容798
12.3.4 注意事项800
12.4 Kubernetes的演进路线和开发模式801