이 페이지에서는 Google Distributed Cloud (GDC) 에어갭 소버린 유니버스에서 컨테이너 워크로드의 영구 스토리지를 만들고 관리하는 방법을 설명합니다. 영구 스토리지는 워크로드가 예약된 위치와 관계없이 애플리케이션에 일관된 ID와 안정적인 호스트 이름을 제공합니다.
이 페이지는 조직의 애플리케이션 워크로드를 만드는 애플리케이션 운영자 그룹 내 개발자를 위한 페이지입니다. 자세한 내용은 GDC 오프라인 문서 대상을 참고하세요.
시작하기 전에
Kubernetes 클러스터에 대해 명령어를 실행하려면 다음 리소스가 있어야 합니다.
Kubernetes 클러스터 이름을 찾거나 플랫폼 관리자에게 클러스터 이름을 문의합니다.
Kubernetes 클러스터의 kubeconfig 파일이 없는 경우 로그인하여 생성합니다.
Kubernetes 클러스터의 kubeconfig 경로를 사용하여 이 안내의
KUBERNETES_CLUSTER_KUBECONFIG
를 바꿉니다.
영구 볼륨을 만드는 데 필요한 권한을 얻으려면 조직 IAM 관리자에게 프로젝트 네임스페이스에 네임스페이스 관리자 역할 (namespace-admin
)을 부여해 달라고 요청하세요.
영구 볼륨 만들기
다음 안내에서는 GDC standard-rwo
StorageClass
를 사용하여 볼륨을 만드는 방법을 보여줍니다. GDC에서 사용할 수 있는 StorageClass
리소스에 관한 자세한 내용은 컨테이너용 영구 스토리지를 참고하세요.
PersistentVolumeClaim
를 만들고ReadWriteOnce
액세스 모드와standard-rwo
스토리지 클래스로 구성합니다.kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: v1 kind: PersistentVolumeClaim metadata: name: PVC_NAME spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: standard-rwo EOF
다음을 바꿉니다.
KUBERNETES_CLUSTER_KUBECONFIG
: 클러스터의 kubeconfig 파일입니다.NAMESPACE
: PVC를 만들 프로젝트 네임스페이스입니다.PVC_NAME
:PersistentVolumeClaim
객체의 이름입니다.
PersistentVolume
(PV) 객체는 동적으로 프로비저닝됩니다. Kubernetes 클러스터에서 새 PV의 상태를 확인합니다.kubectl get pv --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG
출력은 다음과 비슷합니다.
NAME CAPACITY ACCESS MODES STATUS CLAIM STORAGECLASS AGE pvc-uuidd 10Gi RWO Bound pvc-name standard-rwo 60s
PVC를 사용하도록 컨테이너 워크로드를 구성합니다. 다음은
standard-rwo
PVC를 사용하는nginx
포드의 예입니다.kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: apps/v1 kind: Pod metadata: name: web-server-deployment labels: app: nginx spec: containers: - name: nginx image: nginx volumeMounts: - mountPath: /usr/share/nginx/html name: data volumes: - name: data persistentVolumeClaim: claimName: PVC_NAME EOF
PVC_NAME
을 생성한 PVC로 바꿉니다.
볼륨 용량 확장
PersistentVolumeClaim
객체의 용량을 늘리려면 spec.resources.storage
필드를 새 용량으로 업데이트합니다. 지원되는 최대 볼륨 크기는 14.5Ti입니다.
PersistentVolumeClaim
객체의 매니페스트 파일에서 볼륨을 더 큰 크기로 업데이트합니다.kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: v1 kind: PersistentVolumeClaim metadata: name: PVC_NAME spec: accessModes: - ReadWriteOnce resources: requests: storage: VOLUME_STORAGE_SIZE EOF
다음을 바꿉니다.
KUBERNETES_CLUSTER_KUBECONFIG
: 클러스터의 kubeconfig 파일입니다.NAMESPACE
: PVC 리소스가 있는 프로젝트 네임스페이스입니다.PVC_NAME
: 스토리지 크기를 늘릴 PVC의 이름입니다.VOLUME_SNAPSHOT_SIZE
: 늘릴 스토리지 크기입니다(예:50Gi
).
클러스터에서 업데이트된 PV의 상태를 확인합니다.
kubectl get pv --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG