永続ストレージにアクセスする

このページでは、Google Distributed Cloud(GDC)のエアギャップ ソブリン ユニバースでコンテナ ワークロードの永続ストレージを作成して管理する方法について説明します。永続ストレージは、ワークロードのスケジュール場所に関係なく、アプリケーションに一貫した ID と安定したホスト名を提供します。

このページは、組織のアプリケーション ワークロードの作成を担当するアプリケーション オペレーター グループ内のデベロッパーを対象としています。詳細については、GDC エアギャップの対象読者に関するドキュメントをご覧ください。

始める前に

Kubernetes クラスタに対してコマンドを実行するには、次のリソースがあることを確認してください。

  1. Kubernetes クラスタ名を確認するか、プラットフォーム管理者にクラスタ名を確認します。

  2. まだ Kubernetes クラスタの kubeconfig ファイルがない場合は、ログインして生成します。

  3. これらの手順では、Kubernetes クラスタの kubeconfig パスを使用して KUBERNETES_CLUSTER_KUBECONFIG を置き換えます。

永続ボリュームを作成するために必要な権限を取得するには、プロジェクトの Namespace で Namespace 管理者ロール(namespace-admin)を付与するよう組織の IAM 管理者に依頼してください。

永続ボリュームを作成する

次の手順では、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 を作成するプロジェクト Namespace。

    • 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 Pod の例です。

    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.5 Ti です。

  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 リソースが存在するプロジェクト Namespace。

    • PVC_NAME: ストレージ サイズを増やす PVC の名前。

    • VOLUME_SNAPSHOT_SIZE: 増やすストレージ サイズの量(50Gi など)。

  2. クラスタ内の更新された PV のステータスを確認します。

    kubectl get pv --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG
    

次のステップ