Kubernetes:本地存储多个节点



在我的kubernetes集群中,有1个master和3个节点。

将在每个节点上运行一个部署/守护程序集,并且需要存储。

考虑到gluster的性能问题,本地存储会有很多文件(小/大(。

有没有一种方法可以自动分配在分配pod的节点中具有pv的pvc?

感谢

有没有一种方法可以自动分配具有pv的pvc分配pod的节点?

这取决于你所说的"自动分配pvc">但我认为本地卷应该能满足您的要求。PVC或许多不同的PVCs

hostPath相比,它最大的优点是不需要手动将Pod调度到特定节点,因为节点亲和性是在PersistentVolume:上定义的

hostPath卷相比,本地卷可以在和可移植的方式,而无需手动将Pod调度到节点系统通过查看PersistentVolume上的节点相关性。

您只需要定义一个本地存储类,即本地PVPVC,然后您就可以在volumeClaimTemplates中使用它们,就像在Statefulset规范的以下片段中一样:

...
volumeClaimTemplates:
- metadata:
name: local-vol
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: "local-storage"
resources:
requests:
storage: 368Gi

您的所有Pods都将自动调度到适当的节点,因为节点亲和性已经在PersistentVolume中定义,并且特定的PersistentVolumeClaim绑定到此类PV。重要的是要记住,PV:PVC总是1:1结合,而一个PVC可以被许多不同的Pods使用。当涉及到本地卷时,如果Pods使用单个公共PVC,则它们都将被调度在所声明的PV所在的同一节点上。

您可以使用nodeAffinity选择哪些节点的PV绑定到哪些PVC

https://kubernetes.io/docs/concepts/storage/persistent-volumes/#node-亲和

声明还可以指定一个选择器来限制PV池:

https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector

相关内容

  • 没有找到相关文章

最新更新