将K8S有状态Pod迁移到新的节点池:GCEPersistentDisk资源会发生什么?

时间:2018-09-22 16:42:32

标签: cassandra kubernetes google-kubernetes-engine

我有一个有状态的cassandra工作负载,我想将其迁移到同一GKE群集中的新节点池。每个cassandra荚的持久卷都由GCEPersistentDisk资源支持。

在工作负载(即cassandra pods)迁移期间,其基础持久卷将发生什么?基础持久卷也将自动移动到新节点吗?我假设每个持久卷(或GCEPersistentDisk资源)都绑定到GKE节点。

除了常规的迁移命令(例如封锁旧节点,排空运行cassandra pod的旧节点)之外,还有什么我应该运行的命令来确保在pod迁移过程中“数据不会丢失”?

1 个答案:

答案 0 :(得分:1)

简短答案:GCEPersistentDisks将与您的Cassandra吊舱一起移动。

因此,当Pod从一个节点移动到另一个节点时,其GCEPersistentDisk将从当前节点分离,然后在另一个节点上调度时,Kubernetes将其重新连接到该新节点。

如果当前节点突然关闭,则GCEPersistentDisk将被释放(分离),最终Kubernetes会将您的工作负载安排在新节点上并重新连接磁盘。假设在您的云提供商上,您没有选择与实例终止时删除卷有关的功能的选项。

总而言之,鉴于Kubernetes与云提供商进行对话,这一切都应该无缝运行。更多信息here。请注意,不推荐使用Kubernetes Cloud Controller Manager