gpt4 book ai didi

kubernetes - 我可以依赖 volumeClaimTemplates 命名约定吗?

转载 作者:行者123 更新时间:2023-12-04 08:21:07 26 4
gpt4 key购买 nike

我想用 local PV 在裸元 kubernetes 1.7 中设置一个预定义的 PostgreSQL 集群使能够。我有三个工作节点。我在每个节点上创建本地 PV 并成功部署有状态集(使用一些复杂的脚本来设置 Postgres 复制)。

但是我注意到在volumeClaimTemplates 和PersistentVolumeClaim 之间有一种命名约定。
例如

apiVersion: apps/v1beta1 
kind: StatefulSet
metadata:
name: postgres
volumeClaimTemplates:
- metadata:
name: pgvolume

创建的 pvc 为 pgvolume-postgres-0 , pgvolume-postgres-1 , pgvolume-postgres-2 .

有一些 tricky ,我手动创建PVC并通过选择器绑定(bind)到目标PV。我再次测试有状态集。看来有状态集很乐意使用这些 PVC。

我成功地完成了我的测试,但我仍然有这个问题。我可以依赖 volumeClaimTemplates 命名约定吗?这是一个未记录的功能吗?

最佳答案

基于状态集 API reference

volumeClaimTemplates is a list of claims that pods are allowed to reference. The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name.



所以我想你可以依靠它。

此外,您可以定义一个存储类来利用持久卷的动态配置,因此您不必手动创建它们。
  volumeClaimTemplates:
- metadata:
name: www
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: my-storage-class
resources:
requests:
storage: 1Gi

请引用 Dynamic Provisioning and Storage Classes in Kubernetes更多细节。

关于kubernetes - 我可以依赖 volumeClaimTemplates 命名约定吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46442238/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com