gpt4 book ai didi

kubernetes - 我们可以在 k8s 中获得只有 PVC(没有 PV)的 Persistent Volume 吗?

转载 作者:行者123 更新时间:2023-12-01 14:30:32 25 4
gpt4 key购买 nike

我刚刚看到一个带有 PersistentVolumeClaim 的 Postgres yaml 文件和 volumeMountsvolumespersistentVolumeClaimpostgres容器。我找不到任何 PersistentVolume定义。

然而,当 postgres容器 pod 已经启动,我可以看到一个PersistentVolume绑定(bind)到 persistentVolumeClaim在 yaml 文件中定义。

k8s 也会创建 PersistentVolume如果我们只定义 PersistentVolumeClaim ?

最佳答案

是的,这是正确的,所以当您的集群使用 storage-classes 进行动态配置时那么您只需要提供 PVC ,provisioner 会从 PVC 和 storageClass 获取相关信息,然后根据这些信息创建 PV。

  • PV 的供应是动态发生的

    When none of the static PVs the administrator created matches a user’s PersistentVolumeClaim, the cluster may try to dynamically provision a volume specially for the PVC. This provisioning is based on StorageClasses: the PVC must request a storage class and the administrator must have created and configured that class in order for dynamic provisioning to occur. dynamic-provisining


  • 例如,您在 PVC 中提供以下信息
  • 存储类名
  • 请求的存储大小
  • 访问模式
  • kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
    name: task-pv-claim
    spec:
    storageClassName: manual
    accessModes:
    - ReadWriteOnce
    resources:
    requests:
    storage: 3Gi

    在 StorageClass 中,您提供以下信息
  • 供应商
  • 其他信息
  • apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
    name: manual
    provisioner: kubernetes.io/aws-ebs
    parameters:
    type: gp2
    reclaimPolicy: Retain
    volumeBindingMode: Immediate
  • PVC 是命名空间范围的 kubernetes 对象,但存储类在集群范围的 k8s 对象中。所以在你的集群中总是有一个默认的存储类。所以当你没有在你的 pvc 中指定存储类的名称时,PV 将从默认的存储类中提供。
  • kubectl get sc,pvc,pv将提供相关信息

    关于kubernetes - 我们可以在 k8s 中获得只有 PVC(没有 PV)的 Persistent Volume 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56450272/

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