序言
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
Kubernetes 为有状态工作负载做好准备了吗?
这可能是让你打开本书的问题。自 Cloud 计算首次出现以来,数据基础架构(NoSQL/NewSQL、流式处理、分析)和应用基础架构(Docker、Kubernetes)一直在迅速成熟,但分道扬镳。我们认为,现在是正式将这两个领域结合起来的时候了。这不是对未来的期望,而是已经在多个社区的合作中实现了。那些试图管理应用程序和数据两个不同堆栈的组织很快就会发现自己在竞争中处于劣势。
在 Kubernetes 于 2014 年公开发布后的最初几年里,它还没有为数据和有状态工作负载做好准备这一格言很少受到质疑。2018 年,Kelsey Hightower 在推特上发表的这篇推文就是这种普遍看法的一个例证:
Kubernetes 在运行包括数据库和消息队列在内的有状态工作负载的能力方面取得了巨大进步,但我仍然倾向于不在Kubernetes上运行它们。
在过去的几年里,潮流发生了转变。善于解决问题的工程师们接受了 Kelsey 提出的挑战,并将其付诸行动。从某种意义上说,Kubernetes 在有状态工作负载方面的成熟是不可避免的,因为需求是如此之大。我们这些还记得为什么数据库必须在裸机上运行或为什么永远不应该在容器中部署数据基础架构等争论的人都能体会到这种担忧。
我们还了解到,"从未 "和 "尚未 "之间存在巨大差异。计算、存储、Network 现在都被视为商品,为什么数据管理不是呢?Kubernetes 在降低成本和简化应用程序开发方面的价值主张意味着,将数据基础设施迁移到 Kubernetes 上是不可避免的。变化不仅仅发生在 Kubernetes 上。正如您将看到的,数据基础设施项目也在发生变化。
我们为什么写这本书
当我们在 DataStax 的 "日常工作 "职责要求我们考虑如何在 Kubernetes 中有效地部署和运行 Apache Cassandra 时,我们赶上了将有状态工作负载迁移到 Kubernetes 的潮流。本着开源开发的精神,我们寻找其他正在尝试使用数据库和其他有状态工作负载进行类似尝试(并取得成功)的从业者。我们找到了一群志同道合的人,并在 2020 年帮助发起了Kubernetes 数据社区(DoKC)。DoKC 现在是一个独立的组织,已经举办了 100 多场聚会和几次面对面的活动。DoKC 交流会的主题和演讲者多种多样,这证明社区充满活力,正在合作建立标准和最佳实践。最重要的是,我们正在共同学习,应用过去的经验教训,并在建设新事物的过程中相互支持。
在参加这些聚会的过程中,我们开始发现一些共同的主题。我们一次又一次地听到了 PersistentVolume 子系统的优点、StatefulSets 的利弊、operator 模式让数据库操作更易于管理的前景,以及新型数据管理想法的早期暗示。随着时间的推移,我们产生了一个强烈的信念:这个刚刚起步的从业者社区需要一个地方,将散落在多个演讲和博文中的所有智慧汇集起来,并提炼成易于消化的形式。本书就是这一过程的成果。
云原生数据领域还有许多工作要做,许多领域需要进一步探索,包括操作员、机器学习、数据 API、数据集的声明式管理等等。我们希望本书能为其他书籍、博客、演示文稿和学习资源的涌现打开大门。
这本书适合哪些人阅读?
本书的主要读者包括在云中设计、构建和运行应用程序的开发人员和架构师。如果你是这样的人,并且你正在挑选本书,那么你很可能已经听到了采用 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access