두 개의 다른 영역에 컴퓨터가있는 k8s 클러스터가 있습니다. 원래 PersistentVolumeClaim이있는 StatefulSet이 있고 Pod 및 PersistentVolume은 영역 # 1에 있습니다. 이제 포드가 하나의 영역 # 2를 실행하기를 원하므로 PersistentVolume도 영역 # 2로 이동해야합니다.
어떻게 할 수 있습니까? 동일한 영역 의 다른 노드에서 작업이 매우 간단 하다는 것을 알고 있습니다 . 포드는 자동으로 PersistentVolume을 가져옵니다. 하지만 영역간에 무엇을해야할지 모르겠습니다.
어떤 제안이라도 대단히 감사합니다!
이것은의 예 GKE
이지만 다른 클라우드 제공 업체는 유사한 옵션을 가져야하지만 영역 이름이 달라야합니다.
지정된 StorageClass를 사용 하여 지역 영구 디스크 로 수행 할 수 있습니다 . 필요에 따라 다음을 사용할 수 있습니다.
지역 영구 디스크의 동적 프로비저닝을 가능하게하려면를 만들
StorageClass
와replication-type
매개 변수와 지정zone
에 제약을allowedTopologies
.
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: regionalpd-storageclass
provisioner: pd.csi.storage.gke.io
parameters:
type: pd-standard
replication-type: regional-pd
volumeBindingMode: WaitForFirstConsumer
allowedTopologies:
- matchLabelExpressions:
- key: topology.gke.io/zone
values:
- europe-west1-b
- europe-west1-c
위의 예에서는 표준 영구 디스크를 사용하고 europe-west1-b 및 europe-west1-c 영역에 데이터를 복제하는 Regionalpd-storageclass라는 StorageClass를 설명합니다.
gcloud compute disks create \
gce-disk-1 \
--size 500Gi \
--region europe-west1 \
--replica-zones europe-west1-b,europe-west1-c
특정 영역에 영구 볼륨 을 생성 하려면 storageClass
다음 예와 같이 지정할 수 있습니다 .
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: PV-us-central-1a
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-standard
zone: us-central1-a
특정 사용 StorageClass
에를 PersistentVolume
또는 PersistentVolumeClaim
당신은 사용해야합니다 storageClassName
.
와 예를 다음 volumeClaimTemplates
과storageClassName
`volumeClaimTemplates`:
- metadata:
name: www
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: "my-storage-class"
resources:
requests:
storage: 1Gi
PV를 다른 영역으로 이동하는 것과 관련하여 볼륨 스냅 샷을 사용하거나 Velero 와 같은 타사 소프트웨어를 사용할 수 있습니다 . AWS의 리전 및 AZ에서 Kubernetes PersistentVolumes 마이그레이션 과 같은 migrating PV
온라인 자습서 를 찾을 수 있습니다 .Volume Snapshots
추가 문서
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다