Filestore エージェント ボリュームは Google Kubernetes Engine(GKE)と統合され、ステートフル AI エージェント サンドボックス、デベロッパー環境、マルチエージェント ワークフローに高密度で低レイテンシの永続ファイル ストレージを提供します。
このガイドでは、GKE で Filestore エージェント ボリュームを使用するために必要な前提条件について説明します。
始める前に
- Filestore エージェント ボリュームを設定するで初期設定を完了します。
GKE API を有効にします。
gcloud services enable container.googleapis.com \ --project=PROJECT_IDgcloudに必要なコンポーネントをインストールします。gcloud components install kubectl gke-gcloud-auth-plugin
GKE クラスタを作成する
Private Service Connect に接続された GKE クラスタを作成します。
gcloud container clusters create CLUSTER_NAME \
--region=REGION \
--project=PROJECT_ID \
--network=projects/PROJECT_ID/global/networks/VPC_NETWORK \
--subnetwork=SUBNET_NAME \
--num-nodes=3 \
--workload-pool=PROJECT_ID.svc.id.goog\
--scopes=cloud-platform \
--enable-agent-sandbox \
--addons=GcpFilestoreCsiDriver=DISABLED \
--cluster-version=1.36.0-gke.3302001
次のように置き換えます。
CLUSTER_NAME: 新しいクラスタの名前。REGION: ボリューム プールが存在するリージョン(us-central1など)。PROJECT_ID: 実際の Google Cloud プロジェクト ID。VPC_NETWORK: PSC 対応 VPC ネットワークの名前。SUBNET_NAME: サブネットの名前。
Workload Identity Federation for GKE と IAM を設定する
Filestore ボリュームをプロビジョニングする権限を持つ Google サービス アカウント(GSA)を構成し、CSI ドライバで使用される Kubernetes サービス アカウント(KSA)にバインドします。
Google サービス アカウントを作成します。
gcloud iam service-accounts create filestore-csi-gsa \ --display-name="Filestore CSI Driver GSA" \ --project=PROJECT_IDサービス アカウントに Cloud Filestore 編集者(
roles/file.editor)ロールを付与します。gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:filestore-csi-gsa@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/file.editor"Compute Engine のデフォルト サービス アカウントに Cloud Filestore 編集者(
roles/file.editor)ロールを付与します。PROJECT_NUMBER=$(gcloud projects describe PROJECT_ID \ --format="value(projectNumber)") gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/file.editor"gcp-filestore-csi-driverNamespace の KSA を GSA にバインドします。gcloud iam service-accounts add-iam-policy-binding \ filestore-csi-gsa@PROJECT_ID.iam.gserviceaccount.com \ --role="roles/iam.workloadIdentityUser" \ --member="serviceAccount:PROJECT_ID.svc.id.goog[gcp-filestore-csi-driver/gcp-filestore-csi-controller-sa]" \ --project=PROJECT_ID
Filestore CSI ドライバをデプロイする
クラスタ認証情報を取得します。
gcloud container clusters get-credentials CLUSTER_NAME \ --region=REGION \ --project=PROJECT_IDドライバ リポジトリのクローンを作成し、
volumepoolオーバーレイを適用します。git clone https://github.com/kubernetes-sigs/gcp-filestore-csi-driver.git cd gcp-filestore-csi-driver kubectl apply -k deploy/kubernetes/overlays/volumepool
コントローラ サービス アカウントに GSA でアノテーションを付けます。
kubectl annotate serviceaccount gcp-filestore-csi-controller-sa \ --namespace=gcp-filestore-csi-driver \ --overwrite \ iam.gke.io/gcp-service-account=filestore-csi-gsa@PROJECT_ID.iam.gserviceaccount.comCSI ドライバ Pod が実行されていることを確認します。
kubectl get pods -n gcp-filestore-csi-driver
出力は次のようになります。
NAME READY STATUS RESTARTS AGE gcp-filestore-csi-controller-0 5/5 Running 0 2m gcp-filestore-csi-node-abcde 3/3 Running 0 2m
ボリューム プールに StorageClass を適用する
GKE ワークロードがボリュームプールからボリュームを動的にプロビジョニングできるようにするには、Kubernetes StorageClass をクラスタに適用します。
Filestore エージェント ボリュームを設定するで volume-pool-sc.yaml マニフェストをすでに作成している場合は、ステップ 2 にスキップします。
次の構成を持つ
volume-pool-sc.yamlという名前のファイルを作成します。apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: volume-pool-sc provisioner: filestore.csi.storage.gke.io parameters: volume-pool: "projects/<var>PROJECT_ID</var>/locations/<var>LOCATION</var>/volumePools/<var>VOLUME_POOL_ID</var>" mountOptions: - vers=3 - proto=tcp - mountproto=tcp - port=2049 - mountport=2050 volumeBindingMode: Immediate reclaimPolicy: Delete次のように置き換えます。
PROJECT_ID: 実際の Google Cloudプロジェクトの ID。LOCATION: ボリューム プールがデプロイされているリージョン(us-central1など)。VOLUME_POOL_ID: ボリューム プールの ID。
次のようにマニフェストを適用します。
kubectl apply -f volume-pool-sc.yaml
StorageClassが使用可能であることを確認します。kubectl get storageclass volume-pool-sc
出力は次のようになります。
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE volume-pool-sc filestore.csi.storage.gke.io Delete Immediate true 1m
このガイドを完了すると、GKE 環境で Filestore エージェント ボリュームをサポートできるようになります。
次のステップ
GKE クラスタとストレージ クラスを構成したら、次のいずれかのオーケストレーション パターンを使用して、ステートフル AI エージェント ワークロードをデプロイできます。
- GKE Agent Substrate を使用してワークロードをデプロイします。
- GKE Agent Sandbox を使用してワークロードをデプロイする。
- 動的ストレージの遅延バインディングを構成します。
- セルフマネージド GKE ワークロードをデプロイします。