Kubernetes 当节点死亡/重新启动且具有PersistentVolume时的StatefulSet行为

Kubernetes 当节点死亡/重新启动且具有PersistentVolume时的StatefulSet行为,kubernetes,persistent-storage,google-kubernetes-engine,statefulset,Kubernetes,Persistent Storage,Google Kubernetes Engine,Statefulset,假设我有一个资源foo,它是一个有3个副本的statefulset。每一个都有一个持久的卷声明 其中一个foo-pod(foo-1)死亡,一个新的foo-pod在它的位置开始。foo-1是否会绑定到前一个foo-1死前拥有的相同持久卷?永久性卷声明的数量会保持不变还是会增长 此边缘案例似乎不在Statefulset的文档中。是的,您可以。PVC将在GCP上创建一个磁盘,并将其作为辅助磁盘添加到pod运行的节点 删除单个pod后,K8s将在其运行的同一节点上重新创建pod。如果不可能(比如该节点不

假设我有一个资源foo,它是一个有3个副本的statefulset。每一个都有一个持久的卷声明

其中一个foo-pod(foo-1)死亡,一个新的foo-pod在它的位置开始。foo-1是否会绑定到前一个foo-1死前拥有的相同持久卷?永久性卷声明的数量会保持不变还是会增长


此边缘案例似乎不在Statefulset的文档中。

是的,您可以。PVC将在GCP上创建一个磁盘,并将其作为辅助磁盘添加到pod运行的节点


删除单个pod后,K8s将在其运行的同一节点上重新创建pod。如果不可能(比如该节点不再存在),pod将在另一个节点上创建,辅助磁盘将移动到该节点。

只要重新读取文档,我认为它(或多或少)在“稳定存储”部分中定义,或者?如果在同一个节点上重新创建pod是否重要?这个答案是否意味着persistenvolume声明是特定于节点的?难道pod不可能在其他节点上启动,但仍然绑定到相同的卷吗?实际上我刚刚做了一个完整的测试,是的,你可以。所以,默认的K8s总是试图在配置PVC的同一个节点上创建pod(这很好)。更好的是,如果我封锁节点,杀死pod并创建它(在这种情况下,它会在另一个节点上重新创建),PVC会随之移动。对不起。