영구 스토리지 액세스

이 페이지에서는 Google Distributed Cloud (GDC) 에어갭 소버린 유니버스에서 컨테이너 워크로드의 영구 스토리지를 만들고 관리하는 방법을 설명합니다. 영구 스토리지는 워크로드가 예약된 위치와 관계없이 애플리케이션에 일관된 ID와 안정적인 호스트 이름을 제공합니다.

이 페이지는 조직의 애플리케이션 워크로드를 만드는 애플리케이션 운영자 그룹 내 개발자를 위한 페이지입니다. 자세한 내용은 GDC 오프라인 문서 대상을 참고하세요.

시작하기 전에

Kubernetes 클러스터에 대해 명령어를 실행하려면 다음 리소스가 있어야 합니다.

  1. Kubernetes 클러스터 이름을 찾거나 플랫폼 관리자에게 클러스터 이름을 문의합니다.

  2. Kubernetes 클러스터의 kubeconfig 파일이 없는 경우 로그인하여 생성합니다.

  3. Kubernetes 클러스터의 kubeconfig 경로를 사용하여 이 안내의 KUBERNETES_CLUSTER_KUBECONFIG를 바꿉니다.

영구 볼륨을 만드는 데 필요한 권한을 얻으려면 조직 IAM 관리자에게 프로젝트 네임스페이스에 네임스페이스 관리자 역할 (namespace-admin)을 부여해 달라고 요청하세요.

영구 볼륨 만들기

다음 안내에서는 GDC standard-rwo StorageClass를 사용하여 볼륨을 만드는 방법을 보여줍니다. GDC에서 사용할 수 있는 StorageClass 리소스에 관한 자세한 내용은 컨테이너용 영구 스토리지를 참고하세요.

  1. 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 객체의 이름입니다.

  2. 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
    
  3. 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입니다.

  1. 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).

  2. 클러스터에서 업데이트된 PV의 상태를 확인합니다.

    kubectl get pv --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG
    

다음 단계