Filestore CSI ドライバを使用して Filestore インスタンスにアクセスする

Filestore CSI ドライバは、Google Kubernetes Engine(GKE)で Filestore インスタンスを使用するための主要な方法です。Filestore CSI ドライバは、オープンソースの Google Cloud Filestore CSI ドライバを利用したフルマネージドのエクスペリエンスを提供します。

Filestore CSI ドライバのバージョンは、Kubernetes のマイナー バージョン番号に関連付けられています。Filestore CSI ドライバのバージョンは通常、Kubernetes マイナー バージョンがリリースされた時点で入手可能な最新のドライバです。クラスタが最新の GKE パッチにアップグレードされると、ドライバは自動的に更新されます。

利点

Filestore CSI ドライバには、次のような利点があります。

  • Kubernetes API(kubectl)を使用してフルマネージド NFS ストレージにアクセスできます。

  • GKE Filestore CSI ドライバを使用して、PersistentVolume を動的にプロビジョニングできます。

  • GKE Filestore CSI ドライバで、ボリューム スナップショットを使用できます。CSI ボリューム スナップショットは、Filestore バックアップの作成に使用できます。

    Filestore バックアップでは、すべてのファイルデータとメタデータを含むファイル共有の差分コピーが作成され、インスタンスとは別に保存されます。このコピーは、新しい Filestore インスタンスに対してのみ復元できます。既存の Filestore インスタンスへの復元はサポートされていません。CSI volume snapshot API を使用して、ボリューム スナップショット クラスtype:backup フィールドを追加することで Filestore バックアップをトリガーできます。

  • GKE Filestore CSI ドライバで、ボリューム拡張を使用できます。ボリューム拡張を使用すると、ボリュームの容量をサイズ変更できます。

  • Kubernetes ワークロードで事前にプロビジョニングされた Filestore インスタンスを使用することで、既存の Filestore インスタンスにアクセスできます。StorageClass または Deployment を使用して Filestore インスタンスを動的に作成または削除し、Kubernetes ワークロードで使用することも可能です。

  • GKE 向け Filestore マルチシェアをサポートしています。この機能により、Filestore インスタンスを作成し、任意の数の GKE クラスタにまたがって、複数の小さな NFS にマウントされた PersistentVolume を同時に割り当てることができます。

要件

  • Filestore CSI ドライバを使用するには、サービスティアに適用される適切な GKE バージョン番号をクラスタで使用する必要があります。次のサービスティアのみがサポートされています。

    • 基本 HDD(GKE バージョン 1.21 以降)
    • 基本 SSD(GKE バージョン 1.21 以降)
    • GKE バージョン 1.27 以降のゾーン(10 TiB~100 TiB)
    • Enterprise(GKE バージョン 1.25 以降)
    • Filestore のマルチシェア機能を使用するには、クラスタで GKE バージョン 1.25 以降を使用する必要があります。
  • Filestore CSI ドライバは、Linux を使用するクラスタでのみサポートされています。Windows Server ノードはサポートされていません。

  • Filestore の最小インスタンス サイズは、1 TiB 以上にします。最小インスタンス サイズは、選択した Filestore サービス階層によって異なります。詳細については、サービス階層をご覧ください。

  • Filestore は、Filestore インスタンス上で NFSv3 ファイル システム プロトコルを使用し、NFSv3 互換クライアントをサポートします。

準備

始める前に、次の作業が完了していることを確認してください。

  • Cloud Filestore API と Google Kubernetes Engine API を有効にします。
  • API を有効にする
  • このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化する。すでに gcloud CLI をインストールしている場合は、gcloud components update を実行して最新のバージョンを取得する。

新しいクラスタで Filestore CSI ドライバを有効にする

新しい Standard クラスタの作成時に Filestore CSI ドライバを有効にするには、Google Cloud CLI または Google Cloud コンソールで次の手順を行います。

gcloud

gcloud container clusters create CLUSTER_NAME \
    --addons=GcpFilestoreCsiDriver \
    --cluster-version=VERSION

以下を置き換えます。

  • CLUSTER_NAME: クラスタの名前。
  • VERSION: GKE のバージョン番号。この機能を使用するには、サポートされているバージョン番号を選択する必要があります。詳しくは、[#requirements]をご覧ください。または、--release-channel フラグを使用してリリース チャンネルを指定することもできます。

Console

  1. Google Cloud コンソールで [Google Kubernetes Engine] ページに移動します。

    Google Kubernetes Engine に移動

  2. [ 作成] をクリックします。

  3. Standard クラスタモードを選択し、[構成] をクリックします。

  4. ニーズに合わせてクラスタを構成します。

  5. ナビゲーション パネルの [クラスタ] の下の [機能] をクリックします。

  6. [Filestore CSI ドライバを有効にする] チェックボックスをオンにします。

  7. [作成] をクリックします。

共有 VPC ネットワークで Filestore を使用する場合は、共有 VPC を使用して新しいクラスタで Filestore CSI ドライバを有効にするをご覧ください。

Filestore CSI ドライバを有効にすると、ドライバとプロビジョナー名 filestore.csi.storage.gke.io を使用して、Kubernetes Volume でドライバを使用できます。

既存のクラスタで Filestore CSI ドライバを有効にする

既存のクラスタで Filestore CSI ドライバを有効にするには、Google Cloud CLI か Google Cloud Console を使用します。

既存のクラスタでドライバを有効にするには、次の手順を行います。

gcloud

gcloud container clusters update CLUSTER_NAME \
   --update-addons=GcpFilestoreCsiDriver=ENABLED

CLUSTER_NAME を、既存のクラスタの名前に置き換えます。

Console

  1. Google Cloud コンソールで [Google Kubernetes Engine] ページに移動します。

    Google Kubernetes Engine に移動

  2. クラスタのリストで、変更するクラスタの名前をクリックします。

  3. [機能] の [Filestore CSI ドライバ] フィールドの横にある [Filestore CSI ドライバを編集] をクリックします。

  4. [Filestore CSI ドライバの有効化] チェックボックスをオンにします。

  5. [Save Changes] をクリックします。

Filestore CSI ドライバを無効にする

既存の Autopilot または Standard クラスタで Filestore CSI ドライバを無効にするには、Google Cloud CLI または Google Cloud コンソールを使用します。

gcloud

gcloud container clusters update CLUSTER_NAME \
    --update-addons=GcpFilestoreCsiDriver=DISABLED \
    --region REGION

次の値を置き換えます。

  • CLUSTER_NAME: 既存のクラスタの名前。
  • REGION: クラスタのリージョン(us-central1 など)。

Console

  1. Google Cloud コンソールで、Google Kubernetes Engine のメニューに移動します。

    Google Kubernetes Engine に移動

  2. クラスタのリストで、変更するクラスタの名前をクリックします。

  3. [機能] の [Filestore CSI ドライバ] フィールドの横にある [Filestore CSI ドライバを編集] をクリックします。

  4. [Filestore CSI ドライバの有効化] チェックボックスをオフにします。

  5. [Save Changes] をクリックします。

Filestore CSI ドライバを使用して既存の Filestore インスタンスにアクセスする

このセクションでは、Kubernetes Volume で、GKE の Filestore CSI ドライバを使用して既存の Filestore インスタンスにアクセスする一般的なプロセスについて説明します。

インスタンスにアクセスするための PersistentVolume と PersistentVolumeClaim を作成する

  1. 次の例に示すようなマニフェスト ファイルを作成し、preprov-filestore.yaml という名前を付けます。

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: PV_NAME
    spec:
      storageClassName: ""
      capacity:
        storage: 1Ti
      accessModes:
        - ReadWriteMany
      persistentVolumeReclaimPolicy: Retain
      volumeMode: Filesystem
      csi:
        driver: filestore.csi.storage.gke.io
        volumeHandle: "modeInstance/FILESTORE_INSTANCE_LOCATION/FILESTORE_INSTANCE_NAME/FILESTORE_SHARE_NAME"
        volumeAttributes:
          ip: FILESTORE_INSTANCE_IP
          volume: FILESTORE_SHARE_NAME
    ---
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: podpvc
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: ""
      volumeName: PV_NAME
      resources:
        requests:
          storage: 1Ti
    
  2. preprov-filestore.yaml マニフェスト ファイルに基づいて PersistentVolumeClaim リソースと PersistentVolume リソースを作成するために、次のコマンドを実行します。

    kubectl apply -f preprov-filestore.yaml
    

次に、Volume を消費する Deployment を作成するに進みます。

Filestore CSI ドライバを使用して Volume を作成する

次のセクションでは、GKE で Filestore CSI ドライバによって管理される Kubernetes Volume を使用する際の一般的なプロセスについて説明します。

StorageClass を作成する

Filestore CSI ドライバを有効にすると、GKE は、Filestore インスタンスをプロビジョニングするために、以下の StorageClasses を自動でインストールします。

各 StorageClass は、サポートされている GKE バージョン番号で実行されている GKE クラスタでのみ使用できます。各サービスティアに必要なサポート対象のバージョンのリストについては、要件をご覧ください。

インストールされている StorageClass の名前を確認するには、次のコマンドを実行します。

kubectl get sc

また、provisioner フィールドに filestore.csi.storage.gke.io を追加して、Filestore CSI ドライバを使用する別の StorageClass をインストールすることも可能です。

Filestore は、新しいインスタンスを作成するネットワークを認識する必要があります。自動インストールされるストレージ クラスは、GKE クラスタ用に作成されたデフォルトのネットワークを使用します。このネットワークを削除した場合、または別のネットワークを使用する場合は、次の手順に沿って新しい StorageClass を作成する必要があります。そうしないと、自動的にインストールされた StorageClass が機能しません。

  1. 次のマニフェストを filestore-example-class.yaml として保存します。

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: filestore-example
    provisioner: filestore.csi.storage.gke.io
    volumeBindingMode: Immediate
    allowVolumeExpansion: true
    parameters:
      tier: standard
      network: default
    

    マニフェストの以下のパラメータ構成を検討します。

    • volumeBindingModeImmediate に設定すると、ボリュームのプロビジョニングをすぐに開始できます。これが可能になるのは、Filestore インスタンスがどのゾーンからもアクセスできるためです。したがって、Compute Engine 永続ディスクとは異なり、GKE は Pod がスケジュールされているゾーンを認識する必要がありません。WaitForFirstConsumer に設定すると、GKE は Pod がスケジュールされて初めてプロビジョニングを開始します。 詳細については、VolumeBindingMode をご覧ください。
    • サポートされた任意の Filestore 階層tier パラメータBASIC_HDDBASIC_SSDZONALENTERPRISE など)に指定できます。
    • network パラメータは、デフォルト以外の VPC で Filestore インスタンスをプロビジョニングする際に使用できます。デフォルト以外の VPC には、特別なファイアウォール ルールを設定する必要があります。
  2. filestore-example-class.yaml マニフェスト ファイルに基づいて StorageClass リソースを作成するには、次のコマンドを実行します。

    kubectl create -f filestore-example-class.yaml
    

共有 VPC ネットワークで Filestore を使用する場合は、共有 VPC で Filestore CSI ドライバを使用する場合の StorageClass の作成をご覧ください。

PersistentVolumeClaim を使用して Volume にアクセスする

Filestore CSI ドライバの StorageClass を参照する PersistentVolumeClaim リソースを作成できます。

プリインストールまたはカスタムの StorageClass を使用できます。

次のマニフェスト ファイルの例では、filestore-example という名前の StorageClass を参照する PersistentVolumeClaim を作成しています。

  1. 次のマニフェスト ファイルを pvc-example.yaml として保存します。

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: podpvc
    spec:
      accessModes:
      - ReadWriteMany
      storageClassName: filestore-example
      resources:
        requests:
          storage: 1Ti
    
  2. pvc-example.yaml マニフェスト ファイルに基づいて PersistentVolumeClaim リソースを作成するには、次のコマンドを実行します。

    kubectl create -f pvc-example.yaml
    

Volume を消費する Deployment を作成する

次の Deployment マニフェストの例では、pvc-example.yaml という名前の PersistentVolume リソースを使用しています。

複数の Pod が同じ PersistentVolumeClaim リソースを共有できます。

  1. 次のマニフェストを filestore-example-deployment.yaml として保存します。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: web-server-deployment
      labels:
        app: nginx
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx
            volumeMounts:
            - mountPath: /usr/share/nginx/html
              name: mypvc
          volumes:
          - name: mypvc
            persistentVolumeClaim:
              claimName: podpvc
    ---
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: podpvc
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: filestore-example
      resources:
        requests:
          storage: 1Ti
    
  2. filestore-example-deployment.yaml マニフェスト ファイルに基づいて Deployment を作成するには、次のコマンドを実行します。

    kubectl apply -f filestore-example-deployment.yaml
    
  3. Deployment が正常に作成されたことを確認します。

    kubectl get deployment
    

    Filestore インスタンスのプロビジョニングが完了するまで、しばらく時間がかかることがあります。それまで、Deployment は READY ステータスを報告しません。進行状況は、次のコマンドを実行して、PVC のステータスをモニタリングすることで確認できます。

    kubectl get pvc
    

    Volume のプロビジョニングが完了したら、PVC のステータスが BOUND になったことを確認してください。

Filestore インスタンスにラベルを付ける

ラベルを使用すると、関連するインスタンスをグループ化し、インスタンスに関するメタデータを格納できます。ラベルは、Filestore インスタンスを整理する際に役立つ Key-Value ペアです。各リソースにラベルを設定し、そのラベルに基づいてリソースをフィルタリングできます。

ラベルを指定するには、StorageClass.parameterslabels キーを使用します。Filestore インスタンスには、インスタンスが作成された PersistentVolumeClaim/PersistentVolume に関する情報を使用してラベル付けできます。カスタムラベルのキーと値は、ラベルの命名規則に従う必要があります。Filestore インスタンスにカスタムラベルを適用する方法については、Kubernetes のストレージ クラスの例をご覧ください。

Filestore ボリュームで fsgroup を使用する

Kubernetes は fsGroup を使用して、Pod の SecurityContext でユーザーがリクエストした fsGroup に合わせてボリュームの権限とオーナー権限を変更します。fsGroup は、Pod 内のすべてのコンテナに適用される補助グループです。Filestore CSI ドライバによってプロビジョニングされたボリュームに fsgroup を適用できます。

Filestore ボリュームを使用して IP アクセスルールを構成する

Filestore は、Volume の IP ベースのアクセス制御ルールをサポートしています。この機能は、バージョン 1.29.5 以降を実行している GKE クラスタで使用できます。

この機能を使用すると、管理者は、GKE を介して動的にプロビジョニングされた Filestore インスタンスにアクセスできる IP アドレス範囲を指定できます。これにより、特に GKE クラスタの IP 範囲が過剰に広範囲であり、不正なユーザーやアプリケーションに Filestore インスタンスが公開される可能性があるシナリオで、アクセスを承認済みクライアントのみに制限することでセキュリティが強化されます。

これらのルールは、Filestore API を介して直接構成することも、Volume の作成時に Filestore CSI ドライバを介して構成することもできます。選択した構成を JSON 形式で指定するには、nfs-export-options-on-create パラメータを使用して StorageClass に指定します。

次のマニフェストの例は、構成を指定する方法を示しています。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: filestore-example
provisioner: filestore.csi.storage.gke.io
volumeBindingMode: Immediate
allowVolumeExpansion: true
parameters:
  tier: "enterprise"
  nfs-export-options-on-create: '[
    {
      "accessMode": "READ_WRITE",
      "ipRanges": [
        "10.0.0.0/24"
      ],
      "squashMode": "ROOT_SQUASH",
      "anonUid": "1003",
      "anonGid": "1003"
    },
    {
      "accessMode": "READ_WRITE",
      "ipRanges": [
        "10.0.0.0/28"
      ],
      "squashMode": "NO_ROOT_SQUASH"
    }
  ]'

セキュリティ対策

Filestore IP アクセスルールを使用すると、GKE ワークロードの共有ファイル ストレージ権限の構成が簡略化されます。ただし、ファイルの所有権とアクセス権をどのように管理するかを理解するには、いくつかの重要なコンセプトを理解する必要があります。

  • NFS とユーザーのマッピング NFS(ネットワーク ファイル システム)は、Filestore で使用されるプロトコルです。これは、クライアント システム(GKE Pod)のユーザーを Filestore サーバーのユーザーにマッピングすることで機能します。サーバー上のファイルがユーザー ID 1003 によって所有されており、クライアントがユーザー ID 1003 で接続している場合、クライアントはファイルにアクセスできます。

  • ルート スカッシュと anonUid:

    • ルート スカッシュ ROOT_SQUASH は、クライアントが完全な root 権限で Filestore インスタンスにアクセスできないようにするセキュリティ機能です。ルート スカッシュが有効になっている場合、クライアント システムの root ユーザーは、anonUid 設定で指定された権限のないユーザーにマッピングされます。

    • ルート スカッシュなし(NO_ROOT_SQUASHでは、クライアントは完全な root 権限で Filestore インスタンスにアクセスできます。これは初期設定には便利ですが、通常の運用では安全性が低くなります。

  • 初期設定と権限: デフォルトでは、新しい Filestore インスタンスはすべて root ユーザーが所有します。他のユーザーの権限を設定しないでルート スカッシュを有効にすると、アクセス権が失われます。そのため、他のユーザーとグループのアクセス権を最初に構成するには、NO_ROOT_SQUASH を含む NFS エクスポート ルールが少なくとも 1 つ必要です。

推奨事項

  • 初期設定: 常に 1 つ以上の NFS エクスポート ルールを使用して開始します。このルールでは、READ_WRITE 権限を持つ管理者範囲を指定し、NO_ROOT_SQUASH アクセスを許可します。このアクセス権を使用し必要に応じて、ディレクトリの作成、権限の設定、所有権の割り当てを行います。
  • セキュリティ: ルート スカッシュ(ROOT_SQUASH)を有効にしてセキュリティを強化します。Volume の作成後に変更できるのは、Filestore API を介したアクセスルールのみです。
  • 共有アクセス: Pod セキュリティ コンテキストfsGroup を使用して、共有ボリュームのグループ所有権を管理します。設定が ROOT_SQUASH モードと重複しないようにしてください。重複すると、Access denied エラー メッセージが返されます。

共有 VPC で Filestore を使用する

このセクションでは、サービス プロジェクトから共有 VPC ネットワークで Filestore インスタンスを使用する方法について説明します。

共有 VPC を使用してクラスタを設定する。

共有 VPC ネットワークを使用するクラスタを設定するには、次の手順を行います。

  1. ホスト プロジェクトとサービス プロジェクトを作成します
  2. ホスト プロジェクトとサービス プロジェクトの両方で Google Kubernetes Engine API を有効にします
  3. ホスト プロジェクトで、ネットワークとサブネットを 1 つずつ作成します
  4. ホスト プロジェクトで共有 VPC を有効にします
  5. ホスト プロジェクトで、サービス プロジェクトの GKE サービス アカウントに HostServiceAgent ユーザーロール バインディングを付与します。
  6. 共有 VPC ネットワークでプライベート サービス アクセスを有効にします

共有 VPC を使用する新しいクラスタで Filestore CSI ドライバを有効にする

共有 VPC を使用する新しいクラスタで Filestore CSI ドライバを有効にするには、次の手順を行います。

  1. 使用可能なサブネットとセカンダリ範囲を確認します。クラスタを作成する際には、クラスタの Pod と Service に使用するサブネットとセカンダリ IP アドレス範囲を指定する必要があります。

    gcloud container subnets list-usable \
       --project=SERVICE_PROJECT_ID \
       --network-project=HOST_PROJECT_ID
    

    出力は次のようになります。

    PROJECT                   REGION       NETWORK     SUBNET  RANGE
    HOST_PROJECT_ID  us-central1  shared-net  tier-1  10.0.4.0/22
    ┌──────────────────────┬───────────────┬─────────────────────────────┐
    │ SECONDARY_RANGE_NAME  IP_CIDR_RANGE             STATUS           │
    ├──────────────────────┼───────────────┼─────────────────────────────┤
    │ tier-1-pods           10.4.0.0/14    usable for pods or services │
    │ tier-1-services       10.0.32.0/20   usable for pods or services │
    └──────────────────────┴───────────────┴─────────────────────────────┘
    
  2. GKE クラスタを作成する。次の例は、gcloud CLI を使用して、共有 VPC 用に構成された Autopilot クラスタまたは Standard クラスタを作成する方法を示しています。次の例では、ネットワークと 2 つのサブネットを作成するの、ネットワーク、サブネット、範囲名を使用します。

    Autopilot

    gcloud container clusters create-auto tier-1-cluster \
       --project=SERVICE_PROJECT_ID \
       --region=COMPUTE_REGION \
       --network=projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME \
       --subnetwork=projects/HOST_PROJECT_ID/regions/COMPUTE_REGION/subnetworks/SUBNET_NAME \
       --cluster-secondary-range-name=tier-1-pods \
       --services-secondary-range-name=tier-1-services
    

    Standard

    gcloud container clusters create tier-1-cluster \
       --project=SERVICE_PROJECT_ID \
       --zone=COMPUTE_REGION \
       --enable-ip-alias \
       --network=projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME \
       --subnetwork=projects/HOST_PROJECT_ID/regions/COMPUTE_REGION/subnetworks/SUBNET_NAME \
       --cluster-secondary-range-name=tier-1-pods \
       --services-secondary-range-name=tier-1-services \
       --addons=GcpFilestoreCsiDriver
    
  3. クラスタ内のノード、Pod、Service 間の通信を許可するファイアウォール ルールを作成します。次の例は、my-shared-net-rule-2 という名前のファイアウォール ルールを作成する方法を示します。

    gcloud compute firewall-rules create my-shared-net-rule-2 \
       --project HOST_PROJECT_ID \
       --network=NETWORK_NAME \
       --allow=tcp,udp \
       --direction=INGRESS \
       --source-ranges=10.0.4.0/22,10.4.0.0/14,10.0.32.0/20
    

    この例では、ソース範囲の IP 値は、前のステップで使用可能なサブネットとセカンダリ範囲を確認した際に取得したものです。

共有 VPC で Filestore CSI ドライバを使用する場合に StorageClass を作成する

次の例は、共有 VPC で Filestore CSI ドライバを使用する場合に、StorageClass を作成する方法を示します。

cat <<EOF | kubectl apply -f -

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: filestore-sharedvpc-example
provisioner: filestore.csi.storage.gke.io
parameters:
  network: "projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME"
  connect-mode: PRIVATE_SERVICE_ACCESS
  reserved-ip-range: RESERVED_IP_RANGE_NAME
allowVolumeExpansion: true

EOF

以下を置き換えます。

  • HOST_PROJECT_ID: 共有 VPC ネットワークのホスト プロジェクトの ID または名前。
  • SHARED_VPC_NAME: 前に作成した共有 VPC ネットワークの名前。
  • RESERVED_IP_RANGE_NAME: Filestore インスタンスをプロビジョニングする特定の予約済み IP アドレス範囲の名前。このフィールドは省略可能です。予約済み IP アドレス範囲を指定する場合は、CIDR 値を直接指定するのではなく名前付きアドレス範囲を指定する必要があります。

バージョン 1.23 以降が実行されている GKE クラスタで Filestore マルチシェアに基づくボリュームをプロビジョニングする場合は、GKE 向け Filestore マルチシェアでストレージを最適化するをご覧ください。

Filestore 単一共有ボリュームを再接続する

基本 HDD、基本 SSD、エンタープライズ(単一共有)ティアで Filestore を使用している場合は、以下の手順で既存の Filestore インスタンスを GKE ワークロードに再接続できます。

  1. 特定のインスタンスに関する情報の取得の手順に沿って、事前にプロビジョニングされた Filestore インスタンスの詳細を確認します。

  2. PersistentVolume 仕様を再デプロイします。volumeAttributes フィールドで次のフィールドを変更して、ステップ 1 の Filestore インスタンスと同じ値を使用します。

    • ip: 事前にプロビジョニングされた Filestore インスタンスの IP アドレスに変更します。
    • volume: 事前にプロビジョニングされた Filestore インスタンスの共有名に変更します。
  3. PersistentVolumeClaim 仕様を再デプロイします。volumeName で、ステップ 2 と同じ PersistentVolume 名を参照していることを確認します。

  4. kubectl get pvc を実行して、PersistentVolumeClaim と PersistentVolume のバインディング ステータスを確認します。

  5. Pod 仕様を再デプロイし、Pod が Filestore 共有に再びアクセスできるようにします。

次のステップ