第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-nodel和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