【问题标题】:Managing volume rollbacks in K8s using persistent volumes使用持久卷管理 K8s 中的卷回滚
【发布时间】:2021-08-03 17:31:55
【问题描述】:

我有一个由 helm chart 管理的 kubernetes 部署,我计划对其进行升级。该应用程序附加了 2 个持久卷,它们是 AWS 中的 EBS 卷。如果部署出错并需要回滚,我可能还需要回滚 EBS 卷。在 K8s 中如何管理它?我可以从我预先部署的快照中轻松地在 AWS 中手动创建卷,但是要使用它进行部署,我需要编辑 pv yaml 文件以指向我的新卷 ID?或者我是否需要使用卷 ID 和新 PVC 创建一个新 PV,然后编辑我的部署以使用该声明名称?

【问题讨论】:

    标签: amazon-web-services kubernetes amazon-ebs persistent-volumes


    【解决方案1】:

    首先你需要用reclaimPolicy定义一个存储类:Delete

    https://kubernetes.io/docs/concepts/storage/storage-classes/

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: standard
    provisioner: kubernetes.io/aws-ebs
    parameters:
      type: gp2
    reclaimPolicy: Delete
    allowVolumeExpansion: true
    mountOptions:
      - debug
    volumeBindingMode: Immediate
    

    然后,在您的 helm 图表中,您需要使用该存储类。因此,当您删除 helm chart 时,持久化声明将被删除,并且由于使用的存储类的 ReclaimPolicy=Delete,相应的持久化卷也将被删除。

    不过要小心。删除 PV 后,您将无法恢复该卷的数据。没有“回收站”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-18
      • 1970-01-01
      • 2018-04-19
      • 2016-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多