שימוש בנפחי סוכן של Filestore עם עומסי עבודה ב-GKE בניהול עצמי

אם אתם מריצים ב-Google Kubernetes Engine‏ (GKE) מדדים סטנדרטיים של סוכני AI, סביבות פיתוח או עומסי עבודה של צינורות אוטומטיים, אתם יכולים להשתמש ישירות במשאבי PersistentVolumeClaim (PVC) ו-Deployment סטנדרטיים של Kubernetes עם נפחי סוכנים של Filestore.

בתבנית הזו נעשה שימוש בהגדרות מוכרות של משאבי Kubernetes, בלי שנדרשים בקרי ארגז חול מותאמים אישית או משאבי DaemonSet.

לפני שמתחילים

משלימים את ההגדרה של אשכול ושל מנהל התקן CSI בקטע הגדרת סביבת GKE לנפחי סוכן Filestore.

יצירת PersistentVolumeClaim

יוצרים קובץ מניפסט בשם agent-pvc.yaml שמבקש אחסון מהקטגוריה volume-pool-sc StorageClass שיצרתם קודם:

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

ה-driver של Filestore CSI מקצה נפח אחסון חדש במאגר הנפחים שלכם תוך פחות משנייה, ומקשר את ה-PVC.

פריסת עומס עבודה של סוכן

יוצרים מניפסט פריסה בשם agent-deployment.yaml שמטמיע את ה-PVC המצורף:

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 agent תומכים בגישת ReadWriteMany (RWX), מספר רפליקות או פודים נפרדים יכולים לטעון בו-זמנית את אותו PVC כדי לאפשר תהליכי עבודה משותפים של agent.

המאמרים הבאים