Skip to Content
在 Kubernetes 上管理云原生数据
book

在 Kubernetes 上管理云原生数据

by Jeff Carpenter, Patrick McFadin
May 2025
Beginner to intermediate
332 pages
4h 22m
Chinese
O'Reilly Media, Inc.
Content preview from 在 Kubernetes 上管理云原生数据

第 2 章 在 Kubernetes 上管理数据存储 在 Kubernetes 上管理数据存储

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

不存在无状态架构。所有应用程序都会在某个地方存储状态。

Alex Chircop,StorageOS 首席执行官

在上一章中,我们描绘了一个可能的不远的未来,在 Kubernetes 上运行功能强大、有状态、数据密集型的应用程序。要实现这一目标,我们需要用于持久化、流式传输和分析的数据基础架构。为了构建这种基础架构,我们需要利用 Kubernetes 提供的原语来帮助管理云计算的三种商品:计算、网络和存储。在接下来的几章中,我们将从存储开始研究这些原语,看看如何将它们结合起来,创建我们需要的数据基础架构。

与亚历克斯-奇尔科普(Alex Chircop)提出的观点一样,所有应用程序都必须将其状态存储在某个地方,这也是我们在本章中重点讨论 Kubernetes 提供的与存储交互的基本抽象的原因。我们还将关注存储厂商和开源项目提供的新兴创新,它们为 Kubernetes 创建的存储基础架构本身就体现了云原生原则。

让我们从管理容器化应用程序中的持久性开始探索,并以此作为研究 Kubernetes 上数据存储的起点。

Docker、容器和状态

分布式云原生应用中的状态管理问题并非 Kubernetes 独有。快速搜索一下就会发现,在 Mesos 和 Docker Swarm 等其他容器编排平台上,有状态的工作负载一直是一个值得关注的领域。这部分与容器编排的性质有关,部分则是由容器本身的性质驱动的。

首先,让我们考虑一下容器。容器的关键价值主张之一是其短暂性。容器被设计成一次性和可替换的,因此它们需要快速启动,并使用尽可能少的资源进行开销处理因此,大多数容器映像都是由包含精简的、基于 Linux 的开源操作系统(如 Ubuntu)的基础映像构建的,这些映像可以快速启动,并且只包含所包含应用或微服务的基本库。顾名思义,容器的设计是自包含的,将其所有依赖项都包含在不可变的映像中,同时将其配置和数据外部化。这些特性使容器具有可移植性,因此我们可以在任何有兼容容器运行时的地方运行它们。

如图 2-1 所示,与传统虚拟机相比,容器所需的开销更少,传统虚拟机每个虚拟机运行一个客户操作系统,并通过管理程序层实现对底层主机操作系统的系统调用。

Comparing containerization to virtualization
图 2-1. 容器化与虚拟化的比较

虽然容器让应用程序变得更加便携,但事实证明,如何让它们的数据变得更加便携却是一个更大的挑战。由于容器本身是短暂的,因此任何要在容器生命周期之后继续存活的数据都必须在外部驻留。容器技术的关键特性是提供链接到持久存储的机制,而容器编排技术的关键特性是能够以高效访问持久存储的方式调度容器。

在 Docker 中管理状态

让我们看看最流行的容器技术 Docker,看看容器如何存储数据。Docker 中的关键存储概念是卷。从 Docker 容器的角度来看,就是一个可以支持只读或读写访问的目录。Docker 支持将多个数据存储挂载为卷。我们将介绍几个选项,以便以后在 Kubernetes 中注意到它们的对应关系。

装订支架

创建卷的最简单方法是将容器中的目录与主机系统上的目录绑定。这就是所谓的 ...

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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

《使用 Kubernetes 实现云原生 DevOps(第二版)》

《使用 Kubernetes 实现云原生 DevOps(第二版)》

Justin Domingus, John Arundel
生产 Kubernetes

生产 Kubernetes

Josh Rosso, Rich Lander, Alex Brand, John Harris

Publisher Resources

ISBN: 9798341659667