首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么会有人想要在Kubernetes中使用GCE Persistent Disk或EBS?

为什么会有人想要在Kubernetes中使用GCE Persistent Disk或EBS?
EN

Stack Overflow用户
提问于 2021-02-24 18:25:08
回答 1查看 66关注 0票数 0

这些磁盘只能由单个节点访问。

每个节点将具有不同的数据。

此外,任何节点都可以在任何时候终止,因此您必须找到一种方法来将卷重新附加到替换旧节点的新节点上。你会怎么做?

在扩展之后,新节点可能没有这些磁盘中的一个可供连接,因此您需要一个新磁盘。

为什么会有人想要做这一切呢?只是为了临时空间?为此,他们可以使用EC2实例存储或GCE启动盘(尽管我猜这可能就足够了)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-24 22:08:36

我特别熟悉EBS;我假设GCE持久化磁盘也是以同样的方式工作的。重要的细节是,EBS卷不绑定到特定节点;虽然它一次只能连接到一个节点,但可以移动到另一个节点,Kubernetes知道如何做到这一点。

EBS卷可以动态附加到EC2实例。在Kubernetes中,通常有一个

动态卷调配程序

它能够创建由EBS卷支持的PersistentVolume对象,以响应PersistentVolumeClaim对象。重要的是,如果Pod使用引用EBS-volume PV的PVC,那么存储驱动程序知道,无论Pod被调度到哪里,它都可以动态地将EBS卷附加到该EC2实例。

这意味着EBS卷PersistentVolume实际上并没有“锁定”到单个节点。如果Pod被删除,而新的Pod使用PersistentVolumeClaim,则卷可以“移动”到运行新Pod的节点。如果Node被删除,它的所有Pod都可以在其他地方重新调度,EBS卷也可以到其他地方。

一个EBS卷一次只能附加到一个实例;在Kubernetes卷术语中,它只能有一个ReadWriteOnce访问模式

..。如果它可以连接到许多实例(例如,基于EFS的文件系统),那么它可能是ReadOnlyMany 或者 ReadWriteMany..。

这使得EBS成为持久数据存储的相当好的默认选择,如果您的应用程序确实需要它..。它实际上不是特定于主机的,它可以根据需要在集群中移动。如果两个Pod需要共享文件,它将无法工作,但这通常是一个复杂和脆弱的设置,最好将您的应用程序设计为不需要它。

最好的设置是如果您的应用程序根本不需要持久本地存储。这使得扩展部署变得很容易,因为数据在“其他地方”。数据可以在数据库中;数据可以在托管数据库中,比如关系数据库;也可以在对象存储系统中,比如S3。同样,这需要在应用程序中进行更改,使其不使用本地文件进行数据存储。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66348937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档