Filestore-Agent-Volumes mit selbstverwalteten GKE-Arbeitslasten verwenden

Wenn Sie Standard-Benchmarks für KI-Agents, Entwicklerumgebungen oder automatisierte Pipeline-Arbeitslasten in Google Kubernetes Engine (GKE) ausführen, können Sie Standard-Kubernetes-PersistentVolumeClaim- (PVC) und Deployment-Ressourcen direkt mit Filestore-Agent-Volumes verwenden.

Bei diesem Muster werden bekannte Kubernetes-Ressourcendefinitionen verwendet, ohne dass benutzerdefinierte Sandboxing-Controller oder DaemonSet-Ressourcen erforderlich sind.

Hinweis

Führen Sie die Cluster- und CSI-Treiberkonfiguration unter GKE-Umgebung für Filestore-Agent-Volumes einrichten aus.

PersistentVolumeClaim erstellen

Erstellen Sie ein Manifest mit dem Namen agent-pvc.yaml, in dem Speicherplatz vom zuvor erstellten volume-pool-sc StorageClass angefordert wird:

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

Wenden Sie das Manifest an:

kubectl apply -f agent-pvc.yaml

Prüfen Sie, ob der PVC in den Status Bound wechselt:

kubectl get pvc agent-workspace-pvc

Die Ausgabe sieht etwa so aus:

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

Der Filestore-CSI-Treiber stellt in weniger als einer Sekunde ein neues Volume in Ihrem Volume-Pool bereit und bindet den PVC.

Agent-Arbeitslast bereitstellen

Erstellen Sie ein Deployment-Manifest mit dem Namen agent-deployment.yaml, in dem das gebundene PVC eingebunden wird:

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

Wenden Sie das Manifest an:

kubectl apply -f agent-deployment.yaml

Bereitstellung und Dateizugriff prüfen

  1. Prüfen Sie, ob der Deployment-Pod ausgeführt wird:

    kubectl get pods -l app=agent-worker
    

    Die Ausgabe sieht etwa so aus:

    NAME                            READY   STATUS    RESTARTS   AGE
    agent-worker-6789bcdef-ghijk    1/1     Running   0          30s
    
  2. Prüfen Sie die Containerlogs, um zu bestätigen, dass die Dateivorgänge erfolgreich waren:

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

    Die Ausgabe sieht etwa so aus:

    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
    

Da Filestore-Agent-Volumes den Zugriff ReadWriteMany (RWX) unterstützen, können mehrere Replikate oder separate Pods gleichzeitig dasselbe PVC für kollaborative Agent-Workflows einbinden.

Nächste Schritte