在Kubernetes中共同定位Pod和持久卷

时间:2018-07-20 11:21:18

标签: kubernetes nfs persistent-volumes persistent-volume-claims kubernetes-cluster

我有一个遍布A和B两个区域的kubernetes集群。我正在使用nfs卷进行持久存储。我在两个区域中都有nfs卷。我正在创建一个有状态的2个副本集,这些副本集将分布在这些区域中(我使用pod anti-affinity实现了此目的)。现在,我希望区域A中的豆荚使用区域A中的卷,而区域B中的豆荚使用区域B中的卷。

我可以向持久卷添加标签,并将持久卷声明与这些标签匹配。但是,如何确保Pod的PVC不绑定到另一个区域中的PV?

1 个答案:

答案 0 :(得分:1)

您可以尝试将persistent volume claims (PVCs)绑定到persistent volumes (PVs),并使用特殊的内置标签failure-domain.beta.kubernetes.io/zone在两个区域之间的整个群集中拆分Kubernetes Pod。如果手动创建卷,则可以将其标记为failure-domain.beta.kubernetes.io/zone:zoneA,以确保将pod仅调度到与持久卷的区域相同的区域中的节点。

例如,为节点和PV设置label

kubectl label node <node-name> failure-domain.beta.kubernetes.io/zone=zoneA

kubectl label pv <pv-name> failure-domain.beta.kubernetes.io/zone=zoneA

从官方Kubernetes documentation中找到一些有用的信息。

相关问题