I volumi per agenti Filestore si integrano con Google Kubernetes Engine (GKE) per fornire spazio di archiviazione file persistente a bassa latenza e ad alta densità per sandbox di agenti AI stateful, ambienti di sviluppo e Agentic Workflows multi-agente.
Questa guida illustra i prerequisiti necessari per utilizzare i volumi dell'agente Filestore su GKE.
Prima di iniziare
- Completa la configurazione iniziale in Configurare i volumi dell'agente Filestore.
Abilita l'API GKE:
gcloud services enable container.googleapis.com \ --project=PROJECT_IDInstalla i componenti richiesti per
gcloud:gcloud components install kubectl gke-gcloud-auth-plugin
Crea un cluster GKE
Crea un cluster GKE connesso a Private Service Connect.
gcloud container clusters create CLUSTER_NAME \
--region=REGION \
--project=PROJECT_ID \
--network=projects/PROJECT_ID/global/networks/VPC_NETWORK \
--subnetwork=SUBNET_NAME \
--num-nodes=3 \
--workload-pool=PROJECT_ID.s3ns.svc.id.goog \
--scopes=cloud-platform \
--enable-agent-sandbox \
--addons=GcpFilestoreCsiDriver=DISABLED \
--cluster-version=1.36.0-gke.3302001
Sostituisci quanto segue:
CLUSTER_NAME: il nome del nuovo cluster.REGION: la regione in cui risiede il pool di volumi, ad esempious-central1.PROJECT_ID: l' Cloud de Confiance by S3NS ID progetto.VPC_NETWORK: il nome della rete VPC abilitata per PSC.SUBNET_NAME: il nome della subnet.
Configura Workload Identity Federation for GKE e IAM
Concedi al service account Kubernetes utilizzato dal driver CSI e al account di servizio predefinito di Compute Engine le autorizzazioni per eseguire il provisioning dei volumi Filestore:
Recupera il numero di progetto:
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"Sostituisci
PROJECT_IDcon l'ID progetto.Concedi il ruolo Editor di Cloud Filestore (
roles/file.editor) sul progetto al service account Kubernetes (gcp-filestore-csi-controller-sa) nello spazio dei nomigcp-filestore-csi-driver:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/PROJECT_ID.s3ns.svc.id.goog/subject/ns/gcp-filestore-csi-driver/sa/gcp-filestore-csi-controller-sa" \ --role="roles/file.editor" \ --condition=NoneSostituisci quanto segue:
PROJECT_ID: l' Cloud de Confiance by S3NS ID progetto.PROJECT_NUMBER: il tuo Cloud de Confiance by S3NS numero di progetto.
Concedi il ruolo Editor di Cloud Filestore (
roles/file.editor) sul progetto al account di servizio predefinito di Compute Engine:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.s3ns-system.iam.gserviceaccount.com" \ --role="roles/file.editor" \ --condition=None
Esegui il deployment del driver CSI Filestore
Recupera le credenziali del cluster:
gcloud container clusters get-credentials CLUSTER_NAME \ --region=REGION \ --project=PROJECT_IDClona il repository del driver e applica l'overlay
volumepool:git clone https://github.com/kubernetes-sigs/gcp-filestore-csi-driver.git cd gcp-filestore-csi-driver kubectl apply -k deploy/kubernetes/overlays/volumepool
Verifica che i pod del driver CSI siano in esecuzione:
kubectl get pods -n gcp-filestore-csi-driver
L'output è simile al seguente:
NAME READY STATUS RESTARTS AGE gcp-filestore-csi-controller-0 5/5 Running 0 2m gcp-filestore-csi-node-abcde 3/3 Running 0 2m
Applica la StorageClass per il pool di volumi
Per consentire ai workload GKE di eseguire il provisioning dinamico dei volumi dal pool di volumi, applica una StorageClass Kubernetes al cluster.
Se hai già creato il manifest volume-pool-sc.yaml in
Configurare i volumi dell'agente Filestore,
vai al passaggio 2.
Crea un file denominato
volume-pool-sc.yamlcon la seguente configurazione:apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: volume-pool-sc provisioner: filestore.csi.storage.gke.io parameters: volume-pool: "projects/<var>PROJECT_ID</var>/locations/<var>LOCATION</var>/volumePools/<var>VOLUME_POOL_ID</var>" mountOptions: - vers=3 - proto=tcp - mountproto=tcp - port=2049 - mountport=2050 volumeBindingMode: Immediate reclaimPolicy: DeleteSostituisci quanto segue:
PROJECT_ID: l'ID del tuo Cloud de Confiance progetto.LOCATION: la regione in cui è stato eseguito il deployment del pool di volumi, ad esempious-central1.VOLUME_POOL_ID: l'identificatore del pool di volumi.
Applica il manifest:
kubectl apply -f volume-pool-sc.yaml
Verifica che la
StorageClasssia disponibile:kubectl get storageclass volume-pool-sc
L'output è simile al seguente:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE volume-pool-sc filestore.csi.storage.gke.io Delete Immediate true 1m
Dopo aver completato questa guida, l'ambiente GKE è pronto per supportare i volumi dell'agente Filestore.
Passaggi successivi
Con il cluster GKE e la classe di archiviazione configurati, puoi eseguire il deployment dei workload di agenti AI stateful utilizzando uno dei seguenti pattern di orchestrazione:
- Esegui il deployment dei workload utilizzando GKE Agent Substrate.
- Esegui il deployment dei workload utilizzando GKE Agent Sandbox.
- Configura il binding tardivo dell'archiviazione dinamica .
- Esegui il deployment dei workload GKE autogestiti .