Los volúmenes de agentes de Filestore se integran con Google Kubernetes Engine (GKE) para proporcionar almacenamiento de archivos persistente de alta densidad y baja latencia para entornos de pruebas de agentes de IA con estado, entornos de desarrolladores y Agentic Workflows.
En esta guía, se explican los requisitos previos necesarios para usar los volúmenes de agentes de Filestore en GKE.
Antes de comenzar
- Completa la configuración inicial en Configura los volúmenes de agentes de Filestore.
Habilita la API de GKE:
gcloud services enable container.googleapis.com \ --project=PROJECT_IDInstala los componentes necesarios para
gcloud:gcloud components install kubectl gke-gcloud-auth-plugin
Crea un clúster de GKE
Crea un clúster de GKE conectado a tu 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
Reemplaza lo siguiente:
CLUSTER_NAME: Es el nombre del clúster nuevo.REGION: Es la región en la que reside tu grupo de volúmenes, comous-central1.PROJECT_ID: Es el ID del Cloud de Confiance by S3NS proyecto de.VPC_NETWORK: Es el nombre de tu red de VPC habilitada para PSC.SUBNET_NAME: Es el nombre de la subred.
Configura Workload Identity Federation for GKE y IAM
Otorga a la ServiceAccount de Kubernetes que usa el controlador de CSI y a la cuenta de servicio predeterminada de Compute Engine permisos para aprovisionar volúmenes de Filestore:
Obtén el número de proyecto:
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"Reemplaza
PROJECT_IDpor el ID del proyecto.Otorga el rol de editor de Cloud Filestore (
roles/file.editor) en el proyecto a la ServiceAccount de Kubernetes (gcp-filestore-csi-controller-sa) en el espacio de nombresgcp-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=NoneReemplaza lo siguiente:
PROJECT_ID: Es el ID del Cloud de Confiance by S3NS proyecto de.PROJECT_NUMBER: Es el número del Cloud de Confiance by S3NS proyecto.
Otorga el rol de editor de Cloud Filestore (
roles/file.editor) en el proyecto a la cuenta de servicio predeterminada de 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
Implementa el controlador de CSI de Filestore
Obtén credenciales de clúster:
gcloud container clusters get-credentials CLUSTER_NAME \ --region=REGION \ --project=PROJECT_IDClona el repositorio del controlador y aplica la superposición
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 que los pods del controlador de CSI se estén ejecutando:
kubectl get pods -n gcp-filestore-csi-driver
El resultado es similar a este:
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
Aplica la StorageClass para tu grupo de volúmenes
Para permitir que tus cargas de trabajo de GKE aprovisionen volúmenes de forma dinámica desde tu grupo de volúmenes, aplica una StorageClass de Kubernetes a tu clúster.
Si ya creaste el manifiesto volume-pool-sc.yaml en
Configura los volúmenes de agentes de Filestore,
ve al paso 2.
Crea un archivo llamado
volume-pool-sc.yamlcon la siguiente configuración: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: DeleteReemplaza lo siguiente:
PROJECT_ID: Es el ID de tu Cloud de Confiance proyecto.LOCATION: Es la región en la que se implementa tu grupo de volúmenes, comous-central1.VOLUME_POOL_ID: Es el identificador de tu grupo de volúmenes.
Aplica el manifiesto
kubectl apply -f volume-pool-sc.yaml
Verifica que la
StorageClassesté disponible:kubectl get storageclass volume-pool-sc
El resultado es similar a este:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE volume-pool-sc filestore.csi.storage.gke.io Delete Immediate true 1m
Después de completar esta guía, tu entorno de GKE estará listo para admitir volúmenes de agentes de Filestore.
¿Qué sigue?
Con tu clúster de GKE y la clase de almacenamiento configurados, puedes implementar cargas de trabajo de agentes de IA con estado con cualquiera de los siguientes patrones de organización:
- Implementa cargas de trabajo con el sustrato de agentes de GKE.
- Implementa cargas de trabajo con el entorno de pruebas de agentes de GKE.
- Configura la vinculación tardía del almacenamiento dinámico .
- Implementa cargas de trabajo de GKE autoadministradas .