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

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

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

Avant de commencer

Terminez la configuration du cluster et du pilote CSI dans Configurer l'environnement GKE pour les volumes de l'agent Filestore.

Créer un objet PersistentVolumeClaim

Créez un fichier manifeste nommé agent-pvc.yaml demandant le stockage à partir du 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 un nouveau volume dans votre pool de volumes en moins d'une seconde et lie le PVC.

Déployer une charge de travail d'agent

Créez un fichier manifeste de déploiement nommé agent-deployment.yaml qui monte 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. Consultez 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 de l'agent Filestore sont compatibles avec l'accès ReadWriteMany (RWX), plusieurs répliques ou pods distincts peuvent monter simultanément le même PVC pour les workflows d'agent collaboratifs.

Étapes suivantes