首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用现有的pv创建pvc?

如何使用现有的pv创建pvc?
EN

Server Fault用户
提问于 2022-12-01 17:43:42
回答 1查看 660关注 0票数 1

我已经删除了我的部署中的pvc,并且我无法将部署恢复到运行状态,因为它无法重新连接到现有的pv。

如果我安装它新鲜,它只是创造了一个新的pvc与一个新的pv。当我重新安装时,我想使用一个现有的pv (它拥有我所有的数据)。

代码语言:javascript
复制
  primary:
    ## Enable persistence using Persistent Volume Claims
    ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
    ## @param mariadb.primary.persistence.enabled Enable database persistence using PVC
    ## @param mariadb.primary.persistence.storageClass PVC Storage Class
    ## @param mariadb.primary.persistence.accessModes Persistent Volume Access Mode
    ## @param mariadb.primary.persistence.size Database Persistent Volume Size
    ## @param mariadb.primary.persistence.hostPath Host mount path for MariaDB volume
    ## @param mariadb.primary.persistence.existingClaim Enable persistence using an existing PVC
    ##
    persistence:
      enabled: true
      ## mariadb data Persistent Volume Storage Class
      ## If defined, storageClassName: <storageClass>
      ## If set to "-", storageClassName: "", which disables dynamic provisioning
      ## If undefined (the default) or set to null, no storageClassName spec is
      ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
      ##   GKE, AWS & OpenStack)
      ##
      storageClass: ""
      accessModes:
        - ReadWriteOnce
      size: 8Gi
      ## Set path in case you want to use local host path volumes (not recommended in production)
      ##
      hostPath: ""
      ## Use an existing PVC
      ##
      existingClaim: ""

我假设我可以使用existingClaim:参数并输入pvc名称。

然而,我不知道如何从零开始创建一个pvc。

有人能帮我弄清楚如何使用现有的pv来创建pvc吗?只要我不删除那个pv,我就希望我的数据是安全的。

这在Linode Kubernetes集群上(如果重要的话)。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2022-12-02 09:34:56

我们可以使用现有的pv来创建一个新的pvc,而不需要任何数据损失(PV必须存在,如果存储的回收策略被保留,通常会存在PV)。

步骤-1 :确保pv被移动到可用状态,在删除PVC后该状态将被更改。

代码语言:javascript
复制
kubectl get pv <pv name>

在这里,您可以看到,您仍然有来自旧Namespace的references列的引用。

编辑PV (kubectl edit pv <pv name>)并删除spec.claimRef部件。PV声明将被取消设置,并在索赔列中验证将更改为空。

然后通过创建新的PVC来使用PV,如下所示。

代码语言:javascript
复制
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name:test-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 16Gi
  volumeName: "<pv name>"

您可以在此博客中找到更多信息。

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

https://serverfault.com/questions/1117063

复制
相关文章

相似问题

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