Usar volumes do agente do Filestore com cargas de trabalho autogerenciadas do GKE

Se você executar comparativos de mercado padrão de agentes de IA, ambientes de desenvolvedor ou cargas de trabalho de pipeline automatizadas no Google Kubernetes Engine (GKE), poderá usar recursos padrão do Kubernetes PersistentVolumeClaim (PVC) e Deployment diretamente com volumes de agentes do Filestore.

Esse padrão usa definições de recursos do Kubernetes conhecidas sem exigir controladores de sandbox personalizados ou recursos DaemonSet.

Antes de começar

Conclua a configuração do cluster e do driver CSI em Configurar o ambiente do GKE para volumes do agente do Filestore.

Criar um PersistentVolumeClaim

Crie um manifesto chamado agent-pvc.yaml solicitando armazenamento do volume-pool-sc StorageClass que você criou antes:

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

Aplique o manifesto:

kubectl apply -f agent-pvc.yaml

Verifique se o PVC faz a transição para Bound:

kubectl get pvc agent-workspace-pvc

O resultado será o seguinte:

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

O driver CSI do Filestore provisiona um novo volume no pool de volumes em menos de um segundo e vincula o PVC.

Implantar uma carga de trabalho de agente

Crie um manifesto de implantação chamado agent-deployment.yaml que faça a montagem do PVC vinculado:

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

Aplique o manifesto:

kubectl apply -f agent-deployment.yaml

Verificar a implantação e o acesso a arquivos

  1. Verifique se o pod de implantação está em execução:

    kubectl get pods -l app=agent-worker
    

    O resultado será o seguinte:

    NAME                            READY   STATUS    RESTARTS   AGE
    agent-worker-6789bcdef-ghijk    1/1     Running   0          30s
    
  2. Verifique os registros do contêiner para confirmar se as operações de arquivo foram bem-sucedidas:

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

    O resultado será o seguinte:

    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
    

Como os volumes do agente do Filestore oferecem suporte ao acesso ReadWriteMany (RWX), várias réplicas ou pods distintos podem montar simultaneamente o mesmo PVC para fluxos de trabalho de agentes colaborativos.

A seguir