具体描述
传统的Linux服务器发行版本包括要托管的所有内容所需的每
一个组件,如果已经将应用和服务容器化了,那么其中大部分组
件就不需要了。CoreOS Container Linux是一个简单的发行版本,
它只运行像Docker这样的容器所需的基本组件。对于包括微服务
在内的所有以容器为中心的分布式应用程序来说,Container Linux
是快速、安全的基础层。我们可以和补丁式调度说再见了;当
Container Linux需要更新时,只要热插拔整个OS即可。
《CoreOS实战》是在CoreOS Container Linux上部署基于容器
的系统的清晰指南。在其中,读者将看到一些讲解如何同时在私
有基础设施和云系统中设置CoreOS的示例,并且可以使用真实的
代码来实践常规的监控和升级技术。读者还将探究重要的容器感
知的应用程序设计,其中包括微服务、Web和大数据示例,通过
真实用例将读者所学知识转换成自有观点。
主要内容
◆ 优雅地处理扩展和故障
◆ 容器驱动的程序设计
◆ 云、内部部署以及混合部署
◆ 智能化日志和备份实践
作者简介
Matt Bailey拥有15年的IT从业经验,他具有从大规模计算集
群架构到前端编程的丰富知识。
目录信息
第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
第Ⅱ部分 应用程序架构
第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
第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 新的CloudFormation对象 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
· · · · · · (收起)
读后感
用户评价
这本《CoreOS实战》真的让我眼前一亮!我之前一直对容器化技术抱有浓厚兴趣,但总觉得概念居多,落地实践起来总感觉差点意思。这本书的出现,简直就像是为我量身定做的。它并没有停留在理论层面,而是通过大量详实的案例和操作步骤,将CoreOS的强大功能一一展现。从最基础的安装部署,到高级的集群管理,再到应用服务的发布和维护,书中都有非常清晰的指引。我尤其喜欢它在介绍etcd和fleet时,那种循序渐进的讲解方式,让我这个初学者也能很快理解其中的精髓。而且,它还穿插了一些实际生产环境中可能遇到的问题及解决方案,这一点非常宝贵,让我在学习的过程中,就已经开始为未来的实际应用打下了坚实的基础。书中的代码示例也非常贴切,可以直接复制粘贴使用,大大提高了学习效率。读完这本书,我对CoreOS的掌握程度可以说是一个质的飞跃。
我一直认为,技术书籍的价值在于能否解决实际问题。《CoreOS实战》在这方面做得非常到位。我在工作中遇到了需要快速搭建和管理大规模容器集群的需求,一直找不到合适的解决方案,直到我看到了这本书。它提供的实战案例,无论是从集群的搭建、服务的部署,还是到后期的监控和维护,都非常贴合实际生产环境的需求。书中的每一个章节都像一个可以独立使用的模板,我可以直接套用到我的项目中,然后根据实际情况进行微调。它对CoreOS的自动化特性,比如通过fleet进行服务管理,以及如何实现自动更新和回滚,都进行了非常细致的讲解,这极大地减轻了我的工作负担。而且,书中还提供了很多关于安全加固和性能优化的建议,这对于保证线上服务的稳定运行至关重要。
我是一个对技术细节有一定追求的读者,尤其在阅读关于操作系统和分布式系统的书籍时,我更希望看到的是那种能够触及本质的讲解。《CoreOS实战》在这一点上做得非常出色。它不仅仅是教你如何使用CoreOS,更是让你理解CoreOS为什么这样设计。它对CoreOS的原子更新机制、容器化操作系统理念的阐述,都非常有深度。在阅读的过程中,我感觉自己不仅仅是在学习一个工具,更是在理解一种现代化的基础设施构建思路。书中对CoreOS与其他技术的集成,比如与Docker、Kubernetes的配合,都做了详尽的介绍,这对于想要构建更复杂、更强大的分布式系统的读者来说,非常有价值。它没有过于冗长的理论铺垫,而是直接将读者带入到实际应用场景中,通过解决一个又一个具体的难题,来巩固对CoreOS的理解。
作为一名对新兴技术充满好奇的开发者,我总是在不断地寻找能够引领我进入下一代技术浪潮的资源。《CoreOS实战》无疑就是这样一本让我受益匪浅的书。它让我看到了一个全新的操作系统构建理念,以及它在容器化时代的巨大潜力。书中对CoreOS的定位和优势的讲解,让我对它在云原生领域的应用有了更清晰的认识。我尤其欣赏它对CoreOS如何与Kubernetes协同工作的介绍,这为我构建更具弹性和可扩展性的微服务架构提供了重要的参考。书中的内容从浅入深,既有基础概念的梳理,又有高级特性的深入探讨,让我能够随着阅读的深入,不断拓展自己的技术视野。而且,它提供的实践操作,让我能够亲手体验CoreOS的强大之处,从而更好地理解其设计哲学。
对于我这种经常在开发和运维之间切换的人来说,能够找到一本既能深入讲解技术原理,又能提供大量实操指导的书籍,实属不易。《CoreOS实战》就完美地满足了我的需求。它在讲解CoreOS的特性时,并没有回避其底层原理,比如它对systemd单元文件的深入剖析,以及如何利用cloud-config进行自动化配置,都让我对CoreOS的“不可变基础设施”理念有了更深刻的认识。但同时,它又非常接地气,通过实际操作演示,教会我们如何构建高可用的Kubernetes集群,如何部署和管理Docker容器,如何实现服务的弹性伸缩和滚动更新。书中的每一个章节都像是一个独立的实验,让我可以在自己的环境中反复尝试,从而加深理解。尤其是关于网络配置和存储管理的章节,那些隐藏在日常操作背后的复杂细节,在这本书里得到了清晰的梳理,让我豁然开朗。
除了sidekick可以看看其它的没啥,书很薄,但还行
除了sidekick可以看看其它的没啥,书很薄,但还行
除了sidekick可以看看其它的没啥,书很薄,但还行
除了sidekick可以看看其它的没啥,书很薄,但还行
除了sidekick可以看看其它的没啥,书很薄,但还行