Utiliser des volumes d'agent Filestore avec des charges de travail GKE autogérées

Si vous exécutez des benchmarks d'agents IA standards, des environnements de développement ou des charges de travail de pipeline automatisées sur Google Kubernetes Engine (GKE), vous pouvez utiliser des ressources Kubernetes standards PersistentVolumeClaim (PVC) et Deployment directement avec des volumes d'agent Filestore.

Ce modèle utilise des définitions de ressources Kubernetes familières sans nécessiter de contrôleurs de bac à sable personnalisés ni de ressources DaemonSet.

Avant de commencer

Terminez la configuration du cluster et du pilote CSI en suivant les instructions de la section Configurer l'environnement GKE pour les volumes d'agent Filestore.

Créer un objet PersistentVolumeClaim

Créez un fichier manifeste nommé agent-pvc.yaml demandant de l'espace de stockage à partir de l'objet StorageClass volume-pool-sc que vous avez créé précédemment :

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

Appliquez le fichier manifeste :

kubectl apply -f agent-pvc.yaml

Vérifiez que la PVC passe à l'état Bound :

kubectl get pvc agent-workspace-pvc

Le résultat ressemble à ce qui suit :

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

Le pilote CSI Filestore provisionne rapidement un nouveau volume dans votre pool de volumes (généralement en moins de deux secondes) et lie la PVC.

Déployer une charge de travail d'agent

Créez un fichier manifeste de déploiement nommé agent-deployment.yaml qui installe le PVC lié :

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

Appliquez le fichier manifeste :

kubectl apply -f agent-deployment.yaml

Vérifier le déploiement et l'accès aux fichiers

  1. Vérifiez que le pod de déploiement est en cours d'exécution :

    kubectl get pods -l app=agent-worker
    

    Le résultat ressemble à ce qui suit :

    NAME                            READY   STATUS    RESTARTS   AGE
    agent-worker-6789bcdef-ghijk    1/1     Running   0          30s
    
  2. Vérifiez les journaux du conteneur pour confirmer que les opérations sur les fichiers ont réussi :

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

    Le résultat ressemble à ce qui suit :

    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
    

Étant donné que les volumes d'agent Filestore sont compatibles avec l'accès ReadWriteMany (RWX), plusieurs instances répliquées ou pods distincts peuvent installer simultanément le même PVC pour les workflows agentiques collaboratifs.

Étapes suivantes