セルフマネージド GKE ワークロードで Filestore エージェント ボリュームを使用する

Google Kubernetes Engine(GKE)で標準の AI エージェント ベンチマーク、デベロッパー環境、自動化されたパイプライン ワークロードを実行する場合は、標準の Kubernetes PersistentVolumeClaim(PVC)リソースと Deployment リソースを Filestore エージェント ボリュームで直接使用できます。

このパターンでは、カスタム サンドボックス コントローラや DaemonSet リソースを必要とせずに、使い慣れた Kubernetes リソース定義を使用します。

始める前に

Filestore エージェント ボリューム用に GKE 環境を設定するで、クラスタと CSI ドライバの設定を完了します。

PersistentVolumeClaim を作成する

前に作成した volume-pool-sc StorageClass からストレージをリクエストする agent-pvc.yaml という名前のマニフェストを作成します。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: agent-workspace-pvc
  namespace: default
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: volume-pool-sc
  resources:
    requests:
      storage: 1Gi

次のようにマニフェストを適用します。

kubectl apply -f agent-pvc.yaml

PVC が Bound に移行することを確認します。

kubectl get pvc agent-workspace-pvc

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

NAME                  STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS     AGE
agent-workspace-pvc   Bound    pvc-12345678-abcd-ef01-2345-6789abcdef01   1Gi        RWX            volume-pool-sc   5s

Filestore CSI ドライバは、ボリューム プール内に 1 秒以内に新しいボリュームをプロビジョニングし、PVC をバインドします。

エージェント ワークロードをデプロイする

バインドされた PVC をマウントする agent-deployment.yaml という名前の Deployment マニフェストを作成します。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: agent-worker
  namespace: default
  labels:
    app: agent-worker
spec:
  replicas: 1
  selector:
    matchLabels:
      app: agent-worker
  template:
    metadata:
      labels:
        app: agent-worker
    spec:
      containers:
        - name: worker
          image: busybox:latest
          command: ["/bin/sh", "-c"]
          args:
            - |
              echo "Agent worker started. Workspace mounted at /workspace:"
              ls -la /workspace
              echo "Writing benchmark results..."
              date > /workspace/run-status.txt
              cat /workspace/run-status.txt
              sleep infinity
          resources:
            requests:
              cpu: "250m"
              memory: "256Mi"
            limits:
              cpu: "500m"
              memory: "512Mi"
          volumeMounts:
            - name: workspace-storage
              mountPath: /workspace
      volumes:
        - name: workspace-storage
          persistentVolumeClaim:
            claimName: agent-workspace-pvc

次のようにマニフェストを適用します。

kubectl apply -f agent-deployment.yaml

デプロイとファイル アクセスを確認する

  1. デプロイ Pod が実行されていることを確認します。

    kubectl get pods -l app=agent-worker
    

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

    NAME                            READY   STATUS    RESTARTS   AGE
    agent-worker-6789bcdef-ghijk    1/1     Running   0          30s
    
  2. コンテナログを確認して、ファイル オペレーションが成功したことを確認します。

    kubectl logs -l app=agent-worker -c worker
    

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

    Agent worker started. Workspace mounted at /workspace:
    total 8
    drwxr-xr-x    2 root     root          4096 Sep 14 12:00 .
    drwxr-xr-x    1 root     root          4096 Sep 14 12:00 ..
    Writing benchmark results...
    Mon Sep 14 12:00:05 UTC 2026
    

Filestore エージェント ボリュームは ReadWriteMany(RWX)アクセスをサポートしているため、複数のレプリカまたは個別の Pod が同じ PVC を同時にマウントして、エージェント ワークフローを共同で実行できます。

次のステップ