Как создать ПВХ из существующего фотоэлектрического материала?

Как создать ПВХ из существующего фотоэлектрического материала?

Я удалил pvc из своего развертывания mediawiki kubernetes и не могу вернуть развертывание в рабочее состояние, поскольку оно не может повторно подключиться к существующему pv.

Если я установлю его заново, он просто создаст новый pvc внутри нового pv. Я хочу использовать существующий pv (в котором есть все мои данные) при переустановке.

  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, который в настоящее время не подключен? Пока я не удалю этот pv, я надеюсь, что мои данные в безопасности.

Если это имеет значение, то это кластер Linode Kubernetes.

решение1

Мы можем создать новый pvc, используя существующий pv без потери данных (PV должен существовать, обычно существует, если политика возврата storageclass — Retain)

Шаг 1 :убедитесь, что pv переведен в состояние «Доступно», которое изменится после удаления PVC.

kubectl get pv <pv name>

Здесь вы можете увидеть, что в столбце CLAIM все еще есть ссылки из старого пространства имен.

Отредактируйте PV ( kubectl edit pv <pv name>) и удалите часть spec.claimRef. Требование PV будет отменено, и в столбце требования, который вы проверяете, будет изменен на пустой

Затем используйте PV, создав новый PVC, как показано ниже.

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name:test-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 16Gi
  volumeName: "<pv name>"

Более подробную информацию вы можете найти здесьблог.

Связанный контент