内容简介
第1章 Linux运维基础
1.1 Linux基础
1.1.1 systemd
1.1.2 Shell脚本
1.2自动化运维
1.2.1自动化运维之Ansible
1.2.2 Ansible的使用
1.2.3 Ansible模块
1.2.4 playbook
1.3本章小结
第2章 高可用的Linux集群
2.1高可用集群基础
2.1.1高可用衡量标准
2.1.2高可用层次结构
2.1.3常见的高可用方案
2.2虚拟服务的实现
2.2.1DNS轮询
2.2.2客户端调度
2.2.3应用层负载调度
2.2.4 IP层负载调度
2.3 LVS负载均衡
2.3.1 LVS体系结构
2.3.2 IP负载均衡
2.3.3负载调度算法
2.3.4 ipvsadm工具详解
2.3.5 LVS集群实践
2.4 Nginx负载均衡
2.4.1 Nginx配置文件详解
2.4.2 Nginx负载均衡模块
2.5本章小结
第3章 Docker容器引擎
3.1容器技术
3.1.1虚拟化技术
3.1.2容器技术与Docker
3.1.3容器技术原理
3.2 Docker基础
3.2.1 Docker架构
3.2.2 Docker安装
3.2.3 Docker命令
3.3 Docker镜像
3.3.1认识镜像
3.3.2镜像操作
3.3.3 Dockerfile详解
3.3.4镜像仓库
3.4 Docker容器
3.4.1认识容器
3.4.2容器操作
3.4.3数据卷
3.5插件与存储驱动
3.5.1 Docker插件
3.5.2存储驱动
3.6容器与操作系统
3.6.1为容器而打造:Container Linux(CoreOS)
3.6.2定制化容器系统:RancherOS
3.7本章小结
第4章 容器网络
4.1 Docker网络基础
4.1.1端口映射
4.1.2端口暴露
4.1.3容器互联
4.2 Docker网络模式
4.2.1 none模式
4.2.2 container模式
4.2.3 host模式
4.2.4 bridge模式
4.2.5 overlay模式
4.3 Docker网络配置
4.3.1 Daemon网络参数
4.3.2配置DNS
4.4本章小结
第5章 容器编排
5.1安装Docker Compose
5.1.1二进制安装
5.1.2使用Python pip安装
5.2 Compose命令基础
5.2.1指定配置文件
5.2.2指定项目名称
5.2.3 Compose环境变量
5.2.4 build:构建服务镜像
5.2.5 bundle:生成DAB包
5.2.6 config:检查配置语法
5.2.7 create:创建服务容器
5.2.8 down:清理项目
5.2.9 events:查看事件
5.2.10 exec:进入服务容器
5.2.11 kill:杀死服务容器
5.2.12 logs:查看服务容器日志
5.2.13 pause:暂停服务容器
5.2.14 port:查看服务容器端口状态
5.2.15 ps/images:查看容器与镜像
5.2.16 pull:拉取项目镜像
5.2.17 push:推送项目镜像
5.2.18 restart:重启服务容器
5.2.19 rm:删除项目容器
5.2.20 run:执行一次性命令
5.2.21 scale:设置服务容器数量
5.2.22 start:启动服务容器
5.2.23 stop:停止服务容器
5.2.24 top:查看进程状态
5.2.25 unpause:取消暂停
5.2.26up:启动项目
5.3 Compose配置文件
5.3.1配置文件基础
5.3.2基本配置
5.3.3网络配置
5.3.4配置扩展
5.4 Compose实战
5.4.1 WordPress博客部署
5.4.2 Django框架部署
5.5本章小结
第6章 Docker集群管理
6.1 Swarm基础
6.1.1 Docker Swarm命令
6.1.2 Docker Node命令
6.1.3 Docker Stack命令
6.1.4 Docker集群网络
6.2集群进阶
6.2.1 Swarm:高可用的Docker集群管理工具
6.2.2 Shipyard:集群管理面板
6.2.3 Portainer:容器管理面板
6.3本章小结
第7章 Docker生态
7.1宿主管理工具:Machine
7.1.1Machine的安装
7.1.2宿主环境管理
7.2容器编排调度
7.2.1 Rancher:集群管理面板
7.2.2 Nomad:行业领先的调度系统
7.2.3 DC/OS:一切皆可调度
7.2.4服务发现
7.3私有镜像仓库
7.3.1私有仓库的部署
7.3.2 VMware Harbor:企业私有仓库
7.3.3 SUSE Portus:镜像仓库前端分布认证
7.4 Docker插件
7.4.1授权插件
7.4.2 Flocker存储插件
7.4.3网络驱动插件
7.5 Docker安全
7.5.1 Docker安全机制
7.5.2 Docker资源控制
7.5.3 Docker安全工具
7.6监控与日志
7.6.1 cAdvisor:原生集群监控
7.6.2 Logspout:日志处理
7.6.3 Grafana:数据可视化
7.6.4其他监控工具
7.7基于Docker的PaaS平台
7.7.1 Deis:轻量级PaaS平台
7.7.2 Tsuru:可扩展PaaS平台
7.7.3 Flynn:模块化PaaS平台
7.8 Docker持续集成
7.8.1 Drone:轻量级CI工具
7.8.2 Travis CI:著名的CI/CD服务商
7.9其他
7.10本章小结
第8章 Kubernetes入门
8.1 Kubernetes介绍
8.1.1什么是Kubernetes
8.1.2 Kubernetes架构
8.1.3 Kubernetes的优势
8.2 Kubernetes概念
8.2.1 Kubemetes资源
8.2.2调度中心:Master
8.2.3工作节点:Node
8.2.4最小调度单位:Pod
8.2.5资源标签:Label
8.2.6弹性伸缩:RC与RS
8.2.7部署对象:Deployment
8.2.8水平扩展:HPA
8.2.9服务对象:Service
8.2.10数据卷资源:Volume
8.2.11数据持久化:Persistent Volume
8.2.12命名空间:Namespace
8.2.13注释:Annotation
8.3 Kubernetes部署
8.3.1使用Minikube安装Kubernetes
8.3.2使用Kubeadm安装Kubemetes
8.4 Kubernetes命令行详解
8.4.1基本命令(初级)
8.4.2基本命令(中级)
8.4.3部署命令
8.4.4集群管理命令
8.4.5故障排除与调试命令
8.4.6高级命令
8.4.7设置命令
8.4.8其他命令
8.4.9 kubectl全局选项
8.5本章小结
第9章 Kubernetes运维实践
9.1 Pod详解
9.1.1 Pod配置详解
9.1.2 Pod生命周期
9.1.3共享Volume
9.1.4 Pod配置管理
9.1.5 Pod健康检查
9.1.6 Pod扩容和缩容
9.2 Service详解
9.2.1 Service的定义
9.2.2 Service的创建
9.2.3集群外部访问
9.2.4 Ingress负载网络
9.3集群进阶
9.3.1资源管理
9.3.2 kubelet垃圾回收机制
9.4监控与日志
9.4.1原生监控:Heapster
9.4.2星火燎原:Prometheus
9.4.3王牌组合:EFK
9.4.4后起之秀:Filebeat
9.5本章小结