(本书很厚,所以目录中的章节较多,此处页面有限,大部分更为具体的三级目录已在此处省略,具体请参见纸书或电子书的目录部分) 第1章 Kubernetes入门 1 1.1 了解Kubernetes 2 1.2 为什么要用Kubernetes 5 1.3 从一个简单的例子开始 7 1.3.1 环境准备 8 1.3.2 启动MySQL服务 8 1.3.3 启动Tomcat应用 11 1.3.4 通过浏览器访问网页 12 1.4 Kubernetes的基本概念和术语 14 第2章 Kubernetes安装配置指南 47 2.1 系统要求 48 2.2 使用kubeadm工具快速安装Kubernetes集群 49 2.3 以二进制文件方式安装KubernetesAQ高可用集群 61 2.4 使用私有镜像库的相关配置 90 2.5 Kubernetes的版本升级 91 2.6 CRI(容器运行时接口)详解 94 2.7 kubectl命令行工具用法详解 98 第3章 深入掌握Pod 113 3.1 Pod定义详解 114 3.2 Pod的基本用法 120 3.3 静态Pod 125 3.4 Pod容器共享Volume 126 3.5 Pod的配置管理 129 3.6 在容器内获取Pod信息(Downward API) 144 3.7 Pod生命周期和重启策略 154 3.8 Pod健康检查和服务可用性检查 155 3.9 玩转Pod调度 159 3.10 Init Container(初始化容器) 192 3.11 Pod的升级和回滚 196 3.12 Pod的扩缩容 209 3.13 使用StatefulSet搭建MongoDB集群 233 第4章 深入掌握Service 245 4.1 Service定义详解 246 4.2 Service的概念和原理 248 4.2.1 Service的概念 248 4.2.2 Service的负载均衡机制 252 4.2.3 Service的多端口设置 254 4.2.4 将外部服务定义为Service 256 4.2.5 将Service暴露到集群外部 257 4.2.6 Service支持的网络协议 260 4.2.7 Kubernetes的服务发现机制 261 4.2.8 Headless Service的概念和应用 263 4.2.9 端点分片与服务拓扑 265 4.3 DNS服务搭建和配置指南 274 4.4 Node本地DNS缓存 284 4.5 Pod的DNS域名相关特性 291 4.6 Ingress 7层路由机制 297 第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接口 335 5.1.4 集群功能模块之间的通信 336 5.1.5 API Server网络隔离的设计 338 5.2 Controller Manager原理解析 339 5.3 Scheduler原理解析 346 5.4 kubelet运行机制解析 352 5.4.1 节点管理 352 5.4.2 Pod管理 353 5.4.3 容器健康检查 354 5.4.4 cAdvisor资源监控 355 5.4.5 容器运行时 357 5.5 kube-proxy运行机制解析 359 5.5.1 DY代Proxy 360 5.5.2 第二代Proxy 361 5.5.2 第三代Proxy 362 第6章 深入分析集群AQ机制 364 6.1 API Server认证管理 365 6.2 API Server授权管理 373 6.3 Admission Control 406 6.4 Service Account 410 6.5 Secret私密凭据 415 6.6 PodAQ策略 419 第7章 网络原理 445 7.1 Kubernetes网络模型 446 7.2 Docker网络基础 448 7.3 Docker的网络实现 461 7.4 Kubernetes的网络实现 470 7.5 Pod和Service网络实战 474 7.6 CNI网络模型 489 7.7 开源容器网络方案 508 7.8 Kubernetes的网络策略 541 7.9 Kubernetes对IPv4和IPv6双栈的支持 551 第8章 存储原理和应用 560 8.1 Kubernetes存储机制概述 561 8.1.1 将资源对象映射为存储卷 562 8.1.2 Node本地存储卷 569 8.2 持久卷(Persistent Volume)详解 573 8.2.1 PV和PVC的工作原理 574 8.2.2 PV详解 581 8.2.3 PVC详解 587 8.2.4 Pod使用PVC 589 8.2.5 StorageClass详解 593 8.3 动态存储管理实战:GlusterFS 600 8.3.1 准备工作 600 8.3.2 创建GlusterFS管理服务容器集群 600 8.3.3 创建Heketi服务 603 8.3.4 通过Heketi管理GlusterFS集群 607 8.3.5 定义StorageClass 610 8.3.6 定义PVC 610 8.3.7 Pod使用PVC的存储资源 613 8.4 CSI存储机制详解 614 第9章 Kubernetes开发指南 647 9.1 REST简述 648 9.2 Kubernetes API详解 650 9.3 使用Fabric8访问Kubernetes API 665 9.4 Kubernetes API的扩展 680 第10章 Kubernetes运维管理 702 10.1 Node管理 703 10.2 更新资源对象的Label 705 10.3 Namespace:集群环境共享与隔离 706 10.4 Kubernetes资源管理 710 10.5 资源紧缺时的Pod驱逐机制 766 10.6 Pod Disruption Budget(主动驱逐保护) 774 10.7 Kubernetes集群监控 778 10.7.1 使用Metrics Server监控Node和Pod的CPU和内存使用数据 778 10.7.2 Prometheus+Grafana集群性能监控平台搭建 783 10.8 Kubernetes集群日志管理 803 10.9 Kubernetes的审计机制 822 10.10 使用Web UI(Dashboard)管理集群 826 10.11 Helm:Kubernetes应用包管理工具 839 第11章 Trouble Shooting指南 862 11.1 查看系统Event 863 11.2 查看容器日志 865 11.3 查看Kubernetes服务日志 866 11.4 常见问题 868 11.5 寻求帮助 872 第12章 Kubernetes开发中的新功能 875 12.1 对Windows容器的支持 876 12.2 对GPU的支持 896 12.2.1 环境准备 897 12.2.2 在容器中使用GPU资源 900 12.2.3 发展趋势 902 12.3 Pod的垂直扩缩容 902 12.4 Kubernetes生态系统与演进路线 908 附录A Kubernetes核心服务配置详解 915 |