내 mediawiki kubernetes 배포에서 PVC를 삭제했는데 기존 PV에 다시 연결할 수 없기 때문에 배포를 다시 실행 상태로 되돌릴 수 없습니다.
새로 설치하면 새 PV와 함께 새 PVC가 생성됩니다. 다시 설치할 때 기존 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: ""
기존Claim: 매개변수를 사용하고 PVC 이름을 입력하면 된다고 가정합니다.
그러나 처음부터 PVC를 만드는 방법을 모르겠습니다.
누군가 현재 연결되지 않은 기존 PV를 사용하여 PVC를 만드는 방법을 알아내도록 도와줄 수 있습니까? 해당 PV를 삭제하지 않는 한 내 데이터는 안전하기를 바랍니다.
중요한 경우 Linode Kubernetes 클러스터에 있습니다.
답변1
데이터 손실 없이 기존 pv를 사용하여 새 PVC를 생성할 수 있습니다(PV는 반드시 존재해야 하며 일반적으로 스토리지 클래스의 회수 정책이 Retain인 경우 존재함).
1 단계 :PV가 PVC를 삭제한 후 변경될 사용 가능 상태로 이동되었는지 확인하십시오.
kubectl get pv <pv name>
CLAIM 열에는 이전 네임스페이스의 참조가 여전히 남아 있는 것을 볼 수 있습니다.
PV( kubectl edit pv <pv name>
)를 편집하고 spec.claimRef 부분을 제거하세요. PV 청구는 설정되지 않고 청구 열에서 공백으로 변경되는지 확인합니다.
그런 다음 아래와 같이 새로운 PVC를 생성하여 PV를 사용합니다.
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name:test-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 16Gi
volumeName: "<pv name>"
자세한 내용은 여기에서 확인하실 수 있습니다.블로그.