第Ⅰ部分 增进了解CoreOS 3
第1章 CoreOS家族介绍 3
1.1迎接CoreOS 3
1.1.1 CoreOS家族 4
1.1.2 etcd和分布式配置状态 5
1.1.3 fleet和分布式服务状态 6
1.1.4充当CoreOS init系统的systemd 6
1.1.5 Docker和/或rkt,容器运行时 6
1.1.6使用cloud-config进行初始化配置 7
1.2将核心服务装配到一起 7
1.2.1 CoreOS工作流 8
1.2.2创建和运行服务 9
1.2.3创建单元文件 10
1.2.4服务拓扑和故障转移 12
1.3本章小结 14
第2章 在工作站上开始研究 15
2.1设置Vagrant 15
2.1.1需求和设置 16
2.1.2设置Vagrant并且运行它 17
2.1.3让CoreOS集群在Vagrant中运行 20
2.2用于与CoreOS交互的工具 21
2.2.1 fleetctl 22
2.2.2 etcdctl 26
2.2.3 Toolbox容器 27
2.2.4 Linux管理员的概念转换 28
2.3本章小结 29
第3章 可预期的故障:CoreOS中的容错 31
3.1监控的当前状态 31
3.1.1有何不足 32
3.1.2 CoreOS的处理有何不同 33
3.2服务调度与发现 34
3.2.1部署生产环境NGINX和Express 35
3.2.2将etcd用于配置 35
3.3进行一些破坏 40
3.3.1模拟机器故障 40
3.3.2自修复 41
3.4应用程序架构和CoreOS 42
3.4.1常见陷阱 42
3.4.2新项目和遗留项目 43
3.4.3配置管理 43
3.5本章小结 43
第Ⅱ部分 应用程序架构 47
第4章 生产环境中的CoreOS 47
4.1规划和部署选项 47
4.1.1 Amazon Web服务 48
4.1.2使用内部VM基础设施 50
4.1.3在裸机上 50
4.2与网络有关的注意事项 50
4.2.1网络的可编程程度有多大 51
4.2.2使用flannel启动和运行 52
4.3我们的大容量存储在何处 55
4.3.1数据系统背景 55
4.3.2 NAS和存储外包 56
4.3.3 Ceph 57
4.4本章小结 61
第5章 应用程序架构和工作流 63
5.1应用程序和十二要素方法论 63
5.1.1 CoreOS的方法 64
5.1.2架构检查清单 65
5.2软件开发周期 66
5.2.1代码库和依赖性 66
5.2.2环境逻辑和微服务 67
5.2.3应用程序外沿 69
5.3本章小结 69
第6章 Web栈应用程序示例 71
6.1示例范围 71
6.1.1这个应用程序会做些什么 72
6.1.2应用架构概览 73
6.1.3目标环境 74
6.2设置持久化层 75
6.2.1 Couchbase设置 75
6.2.2设置memcached 77
6.3应用程序层 79
6.3.1工作线程 80
6.3.2 Web应用 83
6.4由此向何处发展 89
6.4.1对故障进行响应 89
6.4.2遗漏了什么 90
6.5本章小结 91
第7章 大数据栈 93
7.1本章示例的范围 93
7.1.1架构的增加项 94
7.1.2新的数据源 95
7.2新的栈组件 95
7.2.1 Twitter数据收集器 96
7.2.2编制Couchbase 98
7.2.3启动和验证 105
7.2.4启动工作线程 106
7.3破坏我们的栈 108
7.3.1监测故障 108
7.3.2恢复机器 108
7.4本章小结 109
第Ⅲ部分 生产环境中的CoreOS 113
第8章 AWS上的CoreOS 113
8.1 AWS背景介绍 114
8.1.1 AWS地区和正常运行时间 114
8.1.2 AWS服务 115
8.1.3本章必要条件 115
8.1.4 CloudFormation模板 116
8.1.5 AWS中的云配置 126
8.1.6部署 129
8.2本章小结 132
第9章 整合到一起:部署 133
9.1新的CloudFornmation对象 134
9.1.1参数和输出 134
9.1.2 AWS Lambda 135
9.1.3 API Gateway 137
9.1.4更新栈 138
9.2部署应用 139
9.2.1 Web sidekick 139
9.2.2初始化部署 140
9.3自动化部署 142
9.3.1 Docker Hub设置 142
9.3.2推送变更 143
9.4本章小结 144
第10章 系统管理 145
10.1日志记录和备份 145
10.1.1设置日志 146
10.1.2更新云配置 146
10.1.3单元中的awslogs 147
10.1.4浏览日志 148
10.1.5备份数据 149
10.2系统扩展 151
10.2.1集群扩展 152
10.2.2扩展分区 153
10.2.3迁移服务 153
10.3 CoreOS展望 154
10.3.1新的工具 155
10.3.2 rkt 155
10.4本章小结 159