内容简介
第1部分 基础概念
第1章 容器集群综述
1.1 虚拟化与容器
1.1.1 计算资源虚拟化
1.1.2 容器技术的本质
1.1.3 基于容器的软件交付
1.2 容器集群与分布式服务
1.2.1 微服务架构
1.2.2 容器集群生态圈
1.3 容器即服务
1.3.1 从基础设施到平台
1.3.2 数据中心操作系统
1.4 本章小结
第2部分 解决方案
第2章 SwarmKit集群解决方案
2.1 开源容器集群方案
2.1.1 容器社区的“四朵金花”
2.1.2 经典Swarm、SwarmKit和Swarm Mode
2.2 使用SwarmKit
2.2.1 SwarmKit综述
2.2.2 创建SwarmKit集群
2.2.3 在SwarmKit集群上运行服务
2.2.4 SwarmKit集群的其他功能
2.3 Docker Swarm Mode
2.3.1 Swarm Mode综述
2.3.2 集群的创建与销毁
2.3.3 节点管理
2.3.4 服务管理
2.3.5 服务编排
2.3.6 应用栈的管理
2.3.7 外置配置和密文管理
2.4 Swarm Mode的图形界面
2.4.1 Swarm Mode UI现状
2.4.2 Portainer
2.5 本章小结
第3章 Kubernetes集群解决方案
3.1 Kubernetes集群概述
3.1.1 Kubernetes项目的起源
3.1.2 Kubernetes的结构
3.1.3 基本概念
3.2 部署Kubernetes集群
3.2.1 使用Minikube
3.2.2 使用kubeadm
3.2.3 理解Kubernetes集群的部署过程
3.2.4 验证集群可用性
3.3 使用Kubernetes
3.3.1 通过Kubernetes部署服务
3.3.2 服务的在线更新和回滚
3.3.3 单次任务、定时任务和全局服务
3.3.4 持久化存储
3.3.5 配置存储
3.3.6 管理有状态的服务
3.3.7 健康检查
3.3.8 提供对外服务
3.3.9 多租户隔离和配额
3.3.10 集群的节点管理
3.4 Kubernetes包管理工具Helm
3.4.1 Helm简介
3.4.2 使用Helm管理服务
3.4.3 自定义Chart
3.4.4 Chart仓库
3.5 本章小结
第4章 Mesos集群解决方案
4.1 Mesos和DC/OS概述
4.1.1 Mesos项目的起源
4.1.2 Mesos的结构
4.1.3 Mesos的内部构成
4.1.4 DC/OS数据中心操作系统
4.2 部署Mesos集群
4.2.1 部署ZooKeeper
4.2.2 部署Mesos
4.2.3 启动Master节点
4.2.4 添加Agent节点
4.2.5 Mesos服务的启动参数
4.3 使用Marathon管理服务
4.3.1 部署Marathon
4.3.2 添加一个应用
4.3.3 使用DC/OS命令行工具
4.3.4 使用Docker容器
4.3.5 使用Unified Container
4.3.6 持久化卷存储
4.3.7 Marathon-LB负载均衡
4.3.8 Mesos-DNS域名服务
4.3.9 服务依赖和编组
4.3.10 应用升级
4.3.11 调度约束
4.3.12 健康检查
4.4 使用Chronos
4.4.1 部署Chronos
4.4.2 定时表达式
4.4.3 创建定时任务
4.4.4 定时任务的依赖
4.5 更多的Mesos服务框架
4.5.1 Mesos服务框架的本质
4.5.2 编写自己的Mesos服务框架
4.5.3 其他常见服务框架
4.6 DC/OS
4.6.1 DC/OS简介
4.6.2 部署DC/OS
4.6.3 DC/OS的操作
4.6.4 DC/OS命令行工具
4.6.5 DC/OS的应用仓库
4.7 本章小结
第5章 Rancher集群解决方案
5.1 Rancher集群概述
5.1.1 Rancher项目的起源
5.1.2 Rancher的结构
5.1.3 相关概念
5.2 构建Rancher集群
5.2.1 部署Server节点
5.2.2 Server节点的高可用部署方式
5.2.3 添加Agent节点
5.3 Rancher的服务管理
5.3.1 使用Rancher Web UI创建服务
5.3.2 从容器
5.3.3 特殊类型的服务
5.3.4 使用应用商店
5.3.5 服务编排
5.3.6 服务的升级和回滚
5.4 Rancher使用进阶
5.4.1 Rancher的标签
5.4.2 调度选项
5.4.3 服务健康检查
5.4.4 Rancher的元数据服务
5.4.5 Rancher的DNS服务
5.4.6 使用私有镜像仓库
5.4.7 Rancher的Secret服务
5.4.8 在应用商店添加自定义应用
5.5 Rancher的命令行工具
5.5.1 配置Rancher命令行工具
5.5.2 命令工具的基本使用
5.5.3 通过命令行进行服务编排
5.5.4 通过命令行进行服务升级
5.6 使用Rancher安装Kubernetes
5.6.1 Rancher的环境管理
5.6.2 在Rancher中添加Kubernetes环境
5.6.3 在Rancher中使用Kubernetes
5.7 本章小结
第3部分 技术周边
第6章 容器集群的网络和存储
6.1 容器网络
6.1.1 容器网络标准
6.1.2 本地网络
6.1.3 跨节点网络
6.1.4 使用Docker内置的Overlay类型网络
6.1.5 构建基于Flannel的覆盖网络
6.1.6 构建基于Calico的BGP路由网络
6.2 容器存储
6.2.1 容器实例和镜像的存储
6.2.2 容器卷的存储
6.2.3 容器卷存储标准
6.2.4 基于NFS的卷存储
6.2.5 基于Ceph的卷存储
6.2.6 使用公有云存储
6.3 本章小结
第7章 容器服务的基础设施
7.1 集群性能监控
7.1.1 常见的开源性能监控方案
7.1.2 基于TICK Stack的性能监控
7.1.3 TICK Stack的部署和使用
7.1.4 基于Prometheus的性能监控
7.1.5 Prometheus的部署
7.1.6 Prometheus的使用
7.2 集群日志管理
7.2.1 常见的开源日志管理方案
7.2.2 基于Elastic Stack的日志管理
7.2.3 基于Fluentd的日志管理
7.3 服务发现
7.3.1 常见的服务发现方案
7.3.2 Etcd
7.3.3 Consul
7.4 镜像仓库
7.4.1 容器镜像仓库概述
7.4.2 Registry
7.4.3 Harbor
7.5 本章小结
第8章 容器技术新风向
8.1 安全的集群操作系统:Container Linux
8.1.1 Container Linux概述
8.1.2 Container Linux的部署
8.1.3 Container Linux的使用
8.2 基于容器的操作系统:RancherOS
8.2.1 RancherOS概述
8.2.2 部署RancherOS
8.2.3 RancherOS的使用
8.2.4 使用ros工具管理系统
8.3 容器式的虚拟机:Hyper
8.3.1 Hyper概述
8.3.2 部署Hyper
8.3.3 Hyper的使用
8.4 虚拟机式的容器:LXD
8.4.1 LXD概述
8.4.2 LXD的安装和使用
8.4.3 服务热迁移
8.5 容器与虚拟机的统一:Rkt
8.5.1 Rkt概述
8.5.2 Rkt的安装和使用
8.6 企业级定制容器:Pouch
8.6.1 Pouch概述
8.6.2 Pouch的开源生态
8.6.3 体验Pouch
8.7 微内核操作系统:Unikernel
8.7.1 Unikernel概述
8.7.2 Unikernel的发展
8.7.3 体验Unikernel
8.8 本章小结