首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绑定状态为Released的PVC

绑定状态为Released的PVC
EN

Stack Overflow用户
提问于 2020-02-11 07:54:17
回答 2查看 308关注 0票数 0

让我把你放在上下文中。我得到了pod,它的配置看起来像这样:

代码语言:javascript
复制
spec:
  nodeSets:
  - name: default
    count: 3
    volumeClaimTemplates:
    - metadata:
        name: elasticsearch-data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 5Gi
        storageClassName: repd-ssd-xfs

我也有我的StorageClass

代码语言:javascript
复制
apiVersion: ...
kind: StorageClass
metadata:
  name: repd-ssd-xfs
parameters:
  type: pd-ssd
  fsType: xfs
  replication-type: regional-pd
  zones: us-central1-a, us-central1-b, us-central1-f
reclaimPolicy: Retain
volumeBindingMode: Immediate

我删除了pod的命名空间,然后再次应用,我注意到pod使用的pvc发生了变化,并绑定到一个新的pvc,该pod使用的最后一个pvc的状态为released。我的问题是,有什么方法可以指定pod使用我的旧pvc吗?StorageClass的策略是Retain,但这意味着我仍然可以使用状态为released的聚氯乙烯?

EN

回答 2

Stack Overflow用户

发布于 2020-02-11 13:39:30

如果是部署或独立的pod,您可以在pod规范中显式指定持久卷声明名称,如下所示:

代码语言:javascript
复制
 volumes:
  - name: task-pv-storage
     persistentVolumeClaim:
       claimName: task-pv-claim

但是,如果它是StatefulSet,它将在每次pod重新启动时自动连接到相同的PVC。希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2020-02-11 18:08:40

除了@shashank tyagi提供的答案之外。

请查看文档Persistent VolumesRetain部分,您可以找到:

当PersistentVolumeClaim被删除时,该PersistentVolume仍然存在,该卷被认为是“释放的”。但它还不能用于另一个申请,因为之前的索赔人的数据保留在该卷上。管理员可以通过以下步骤手动回收该卷。

  • 删除PersistentVolume。在PV is deleted.
  • Manually清理关联存储资产上的数据后,外部基础架构(如AWS EBS、GCE、Azure Disk或Cinder卷)中的关联存储资产仍然存在,或者如果您想要重复使用相同的存储资产,请使用accordingly.
  • Manually创建一个新的PersistentVolume

存储资产定义。

查看文档Persistent volumes with Persistent Disks和这个示例How to set ReclaimPolicy for PersistentVolumeClaim可能会很有帮助。

UPDATE请查看文章Persistent Volume Claim for StatefulSet

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60160156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档