第1章 CoreOS简介和安装 1
1.1 CoreOS简介 1
1.1.1 CoreOS是什么 1
1.1.2 CoreOS的诞生和发展 2
1.1.3 CoreOS的用户体验 4
1.1.3.2 更快的启动速度 4
1.1.4 CoreOS的适应场景 6
1.2 CoreOS核心组件 10
1.3 架设CoreOS集群 13
1.3.1 CoreOS支持的平台 13
1.3.2 部署CoreOS集群 15
1.4 CoreOS的操作系统衍生 25
1.5 小结 26
第2章 使用CoreOS中的容器 27
2.1 应用容器入门 27
2.1.1 什么是应用容器 27
2.1.2 应用容器技术的发展 28
2.1.3 命名空间(Namespace) 30
2.1.4 控制组(CGroup) 32
2.1.5 容器的应用场景 36
2.2 使用Docker容器 38
2.2.1 Docker容器工具概述 38
2.2.2 Docker命令行的基本使用 40
2.2.3 数据共享与备份 45
2.2.4 多容器通信 48
2.2.5 Docker API 50
2.3 Docker镜像制作 50
2.3.1 Docker镜像 50
2.3.2 从容器构建镜像 51
2.3.3 Dockerfile 53
2.3.4 镜像仓库 57
2.4 使用Rkt容器 59
2.4.1 Rkt简介 59
2.4.2 使用Rkt容器 61
2.4.3 镜像管理 68
2.4.4 Rkt容器的生命周期 73
2.4.5 其他命令 76
2.5 Rkt的容器镜像 78
2.5.1 AppC Spec规范 78
2.5.2 Aci镜像工具 80
2.5.3 Aci镜像签名 86
2.5.4 Aci镜像定义文件 88
2.5.5 镜像分发 91
2.6 小结 93
第3章 Systemd节点资源管理 94
3.1 Systemd的服务管理模型 94
3.1.1 Systemd概述 94
3.1.2 Systemd的设计理念 95
3.1.3 Systemd的服务管理 96
3.1.4 日志管理 98
3.1.5 服务的生命周期 101
3.1.6 服务的Unit文件 103
3.1.7 Unit文件占位符 111
3.1.8 Unit模板 112
3.2 Systemd的系统资源管理 113
3.2.1 Systemd的Unit文件 113
3.2.2 定时器 115
3.2.3 路径监控器 117
3.2.4 数据监控器 119
3.2.5 挂载文件系统 121
3.2.6 自动挂载文件系统 123
3.2.7 交换分区(虚拟内存) 125
3.3 Systemd工具集 126
3.3.1 Systemd系列工具概述 126
3.3.2 主机名、时间、地区信息管理 127
3.3.3 电源管理 128
3.3.4 启动时间和运行状态分析 129
3.3.5 辅助性命令工具 131
3.3.6 Systemd容器 134
3.4 小结 139
第4章 Fleet跨节点服务调度 140
4.1 Fleet简介 140
4.1.1 Systemd服务管理的局限性 140
4.1.2 Fleet的服务调度 141
4.2 Fleet的基本操作 141
4.2.1 获取集群信息 141
4.2.2 显示集群服务 142
4.2.3 节点跳转 143
4.2.4 跨节点执行命令 145
4.3 通过Unit文件运行跨节点调度的服务 145
4.3.1 Fleet的Unit文件 145
4.3.2 在集群上运行服务 146
4.3.3 Fleet的X-Fleet段 146
4.3.4 模板参数 147
4.4 集群中的服务生命周期 147
4.4.1 提交服务 148
4.4.2 加载服务 149
4.4.3 启动服务 149
4.4.4 停止服务 150
4.4.5 服务自动启动 150
4.4.6 服务状态和日志 151
4.5 服务热迁移 152
4.6 小结 152
第5章 Etcd分布式配置共享 153
5.1 基于Etcd的配置共享和集群组建 153
5.1.1 Etcd概述 153
5.1.2 Etcd集群的构建 158
5.1.3 Etcd的操作 164
5.1.4 Etcd集群的成员管理 169
5.1.5 重大故障的恢复 174
5.2 Etcd的应用程序接口 175
5.2.1 概述 175
5.2.2 Etcd数据操作 176
5.2.3 成员管理 185
5.2.4 集群的统计信息 187
5.2.5 隐藏数据节点 190
5.3 小结 192
第6章 CoreOS综合案例 193
6.1 案例一:分布式服务的监控 193
6.1.1 案例说明 193
6.1.2 方案实施 194
6.1.3 案例延伸 201
6.1.4 案例总结 202
6.2 案例二:应用层负载均衡 202
6.2.1 案例说明 202
6.2.2 方案实施 204
6.2.3 案例延伸 212
6.2.4 案例总结 217
6.3 小结 217
第7章 深入CoreOS的特性与集群架构 218
7.1 CoreOS的系统启动配置 218
7.1.1 用户数据文件 219
7.1.2 编写用户数据文件 222
7.1.3 验证和修改用户数据文件 230
7.2 CoreOS系统升级 232
7.2.1 具有CoreOS特色的系统升级 232
7.2.2 升级参数配置 236
7.2.3 执行系统升级 240
7.2.4 更好的升级策略 241
7.2.5 升级的回滚 245
7.3 CoreOS的集群架构 247
7.3.1 单节点架构 247
7.3.2 小型集群 249
7.3.3 开发/测试环境集群 250
7.3.4 产品环境集群 252
7.4 小结 255
第8章 Kubernetes集群管理 256
8.1 Flannel网络规划 256
8.1.1 Flannel简介 256
8.1.2 Flannel的安装和使用 260
8.1.3 Flannel的配置 268
8.2 架设Kubernetes集群管理系统 269
8.2.1 Kubernetes简介 269
8.2.2 Kubernetes的组成 270
8.2.3 部署Kubernetes集群管理系统 272
8.2.4 Kubernetes的基本操作 280
8.3 Kubernetes的插件机制 288
8.3.1 Kubernetes的内置插件 288
8.3.2 SkyDNS插件 289
8.3.3 KubeUI插件 293
8.4 Kubernetes应用案例 295
8.4.1 案例一:留言板应用 295
8.4.2 案例二:在线更新应用 302
8.5 小结 306
第9章 CoreOS小技巧 307
9.1 CoreOS使用技巧 307
9.1.1 扩展系统命令 307
9.1.2 运行有界面的软件 308
9.1.3 容器的默认语言和时区 310
9.1.4 JSON格式化 311
9.1.5 在CoreOS中安装tmux和screen 312
9.1.6 修改core用户的.bashrc文件 312
9.1.7 自定义SSH端口和配置 313
9.1.8 运行其他CoreOS中无法安装的软件 314
9.2 CoreOS周边工具 315
9.2.1 使用Sysdig检测容器的系统资源状态 315
9.2.2 使用Calico实现容器级防火墙 317
9.3 小结 321
· · · · · · (
收起)