目录
第1章 容器虚拟化概述
1.1 容器的发展历史和应用场景
1.1.1 虚拟化技术与容器技术的区别及其联系
1.1.2 容器虚拟化应用场景
1.2 从容器到Docker
1.2.1 Docker的由来
1.2.2 容器的标准化
1.2.3 Docker的开源项目moby
1.3 容器虚拟化与Docker
1.3.1 容器虚拟化技术
1.3.2 容器造就了Docker
1.3.3 Docker的概念
1.3.4 为什么使用Docker
1.4 从Docker到Kubernetes
1.4.1 Kubernetes的由来
1.4.2 Kubernetes的功能
1.5 安装VMware
第2章 Docker架构与原理
2.1 技术架构
2.1.1 Docker技术构成
2.1.2 Docker核心技术
2.1.3 Docker打包原理
2.1.4 Docker网络模式
2.2 技术原理
2.2.1 镜像
2.2.2 容器
2.2.3 数据卷
2.2.4 仓库
2.3 安装说明
2.3.1 Docker应用场景
2.3.2 Docker生态圈
2.3.3 安装Docker
2.3.4 搭建Web服务器
2.4 基础命令
第3章 Docker应用进阶
3.1 容器镜像实践
3.2 容器互联实践
3.2.1 容器互联
3.2.2 运行一个交互器
3.2.3 运行一个后台进程容器
3.2.4 映射数据卷到容器
3.3 容器网络实践
3.3.1 Docker网络
3.3.2 网络连接容量
3.3.3 检查网络是否连接容器
3.3.4 创建自己的局域网
3.4 Docker图形化管理及监控
3.4.1 Docker常用的可视化(图形化)管理工具
3.4.2 Linux常用的监控工具
第4章 Docker容器云
4.1 构建容器云
4.1.1 云平台的层次架构
4.1.2 构建容器云的思路与步骤
4.2 容器的编排与部署
4.2.1 Compose的原理
4.2.2 Fleet的原理
4.3 跨平台宿主环境管理工具Machine
4.3.1 Machine与虚拟机软件
4.3.2 Machine与IaaS平台
4.3.3 Machine示例
4.4 集群抽象工具Swarm
4.4.1 Swarm概述
4.4.2 Swarm集群的多种创建方式
4.4.3 Swarm对请求的处理
4.4.4 Swarm集群的调度策略
4.4.5 Swarm集群高可用(HA)
4.5 Flynn与Deis
4.5.1 容器云的基础设施层
4.5.2 容器云的功能框架层
4.5.3 Flynn体系架构与实现原理
4.5.4 Deis的原理与使用
4.5.5 Deis与Flynn的比较
4.6 容器云示例
4.6.1 Hadoop简介
4.6.2 基于Docker搭建Hadoop集群
第5章 Docker与微服务
5.1 微服务概述
5.1.1 什么是微服务
5.1.2 微服务架构
5.1.3 微服务的优缺点
5.2 服务容器化
5.3 微服务的创建与部署
5.3.1 DevOps
5.3.2 Service Mesh
5.3.3 Istio
5.4 迁移到微服务
第6章 Kubernetes架构解析
6.1 Kubernetes基础简介
6.1.1 什么是Kubernetes
6.1.2 Kubernetes基础知识
6.2 Kubernetes的核心概念
6.3 Kubernetes配置文件解析
第7章 Kubernetes集群部署
7.1 Kubernetes的安装与配置
7.1.1 系统环境要求和先决条件
7.1.2 使用Kubeadm工具快速安装Kubernetes集群
7.1.3 以二进制文件方式安装Kubernetes集群
7.1.4 Kubernetes集群的安全设置
7.1.5 Kubernetes集群的网络配置
7.1.6 Kubernetes核心服务配置详解
7.2 Kubernetes命令行工具
7.2.1 kubectl用法介绍
7.2.2 kubectl子命令详解
7.2.3 kubectl输出格式
7.2.4 kubectl操作示例
7.3 深入理解Pod
7.3.1 Pod介绍
7.3.2 Pod的基本用法和静态Pod
7.3.3 Pod容器共享Volume和Pod的配置管理
7.3.4 在容器内获取Pod信息
7.3.5 Pod生命周期和重启策略
7.3.6 Pod健康检查和Pod调度
7.3.7 Init Container
7.3.8 Pod的升级和回滚
7.3.9 Pod的扩容和缩容
7.4 深入理解Service
7.4.1 Service介绍
7.4.2 Service基本用法
7.4.3 Headless Service
7.4.4 集群外部访问Pod或Service
7.4.5 DNS服务搭建指南
7.4.6 自定义DNS与上游DNS服务器
7.4.7 Ingress:HTTP 7层路由机制
第8章 Kubernetes核心原理
8.1 Kubernetes API Server原理分析
8.1.1 Kubernetes API Server介绍
8.1.2 独特的Kubernetes Proxy API接口
8.1.3 集群功能模块之间的通信
8.1.4 Controller Manager原理分析
8.2 Scheduler原理和Kubelet运行机制分析
8.2.1 Scheduler原理分析
8.2.2 节点管理
8.2.3 Pod管理
8.2.4 容器健康检查
8.2.5 Cadvisor资源监控
8.3 集群安全机制
8.3.1 API Server认证管理
8.3.2 API Server授权管理
8.3.3 Admission Control(准入控制)
8.3.4 Service Account
8.3.5 Secret私密凭据
8.4 分布式网络原理
8.4.1 Kubernetes网络模型
8.4.2 Docker的网络实现
8.4.3 Kubernetes的网络实现
8.4.4 CNI网络模型
8.4.5 Kubernetes网络策略
8.4.6 开源的网络组件
8.4.7 负载均衡和网络路由
8.5 存储原理
8.5.1 共享存储机制介绍
8.5.2 PVC介绍
8.5.3 PV和PVC的生命周期
8.5.4 StorageClass详解
8.5.5 GlusterFS动态存储管理实战
第9章 Kubernetes开发与运维
9.1 Kubernetes API和源码分析
9.1.1 使用REST访问Kubernetes
9.1.2 Kubernetes API详解
9.1.3 API Groups
9.1.4 API方法说明
9.1.5 API响应说明
9.2 基于Kubernetes API的二次开发
9.2.1 使用Java访问Kubernetes API
9.2.2 使用Jersey框架访问Kubernetes API
9.2.3 使用Fabric8框架访问Kubernetes API
9.2.4 Kubernetes开发中的新功能
9.3 Kubernetes集群管理基础
9.3.1 Node的管理
9.3.2 Namespace:集群环境共享与隔离
9.3.3 Kubernetes资源管理
9.3.4 Pod Disruption Budget
9.3.5 Kubernetes集群的高可用部署方案
9.3.6 Kubernetes集群监控和日志管理
9.3.7 使用Web UI(Dashboard)管理集群
9.3.8 Kubernetes应用包管理工具Helm
9.4 故障排除
9.4.1 查看系统Event事件
9.4.2 查看容器日志
9.4.3 查看Kubernetes服务日志
9.4.4 常见问题及其解决方案