Les volumes d'agent Filestore s'intègrent à Google Kubernetes Engine (GKE) pour fournir un stockage de fichiers persistant à haute densité et à faible latence pour les bacs à sable d'agents IA avec état, les environnements de développement et les workflows agentiques multi-agents.
Ce guide vous explique les prérequis nécessaires pour utiliser les volumes d'agent Filestore sur GKE.
Avant de commencer
- Effectuez la configuration initiale dans Configurer les volumes d'agent Filestore.
Activez l'API GKE :
gcloud services enable container.googleapis.com \ --project=PROJECT_IDInstallez les composants requis pour
gcloud:gcloud components install kubectl gke-gcloud-auth-plugin
Créer un cluster GKE
Créez un cluster GKE connecté à votre 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
Remplacez les éléments suivants :
CLUSTER_NAME: nom du nouveau clusterREGION: région où réside votre pool de volumes, par exempleus-central1PROJECT_ID: ID de votre Cloud de Confiance by S3NS projetVPC_NETWORK: nom de votre réseau VPC compatible avec PSCSUBNET_NAME: nom du sous-réseau
Configurer la fédération d'identité de charge de travail pour GKE et IAM
Accordez au compte de service Kubernetes utilisé par le pilote CSI et au compte de service Compute Engine par défaut les autorisations nécessaires pour provisionner des volumes Filestore :
Obtenez le numéro de votre projet :
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"Remplacez
PROJECT_IDpar l'ID de votre projet.Attribuez le rôle Éditeur Cloud Filestore (
roles/file.editor) sur le projet au compte de service Kubernetes (gcp-filestore-csi-controller-sa) dans l'espace de nomsgcp-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=NoneRemplacez les éléments suivants :
PROJECT_ID: ID de votre Cloud de Confiance by S3NS projetPROJECT_NUMBER: numéro de votre Cloud de Confiance by S3NS projet
Attribuez le rôle Éditeur Cloud Filestore (
roles/file.editor) sur le projet au compte de service Compute Engine par défaut :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
Déployer le pilote CSI Filestore
Obtenez les identifiants du cluster :
gcloud container clusters get-credentials CLUSTER_NAME \ --region=REGION \ --project=PROJECT_IDClonez le dépôt du pilote et appliquez la superposition
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
Vérifiez que les pods du pilote CSI sont en cours d'exécution :
kubectl get pods -n gcp-filestore-csi-driver
Le résultat ressemble à ce qui suit :
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
Appliquer la StorageClass à votre pool de volumes
Pour permettre à vos charges de travail GKE de provisionner dynamiquement des volumes à partir de votre pool de volumes, appliquez une StorageClass Kubernetes à votre cluster.
Si vous avez déjà créé le fichier manifeste volume-pool-sc.yaml dans
Configurer les volumes d'agent Filestore,
passez à l'étape 2.
Créez un fichier nommé
volume-pool-sc.yamlavec la configuration suivante :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: DeleteRemplacez les éléments suivants :
PROJECT_ID: ID de votre Cloud de Confiance projetLOCATION: région où votre pool de volumes est déployé, par exempleus-central1VOLUME_POOL_ID: identifiant de votre pool de volumes
Appliquez le fichier manifeste :
kubectl apply -f volume-pool-sc.yaml
Vérifiez que la
StorageClassest disponible :kubectl get storageclass volume-pool-sc
Le résultat ressemble à ce qui suit :
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE volume-pool-sc filestore.csi.storage.gke.io Delete Immediate true 1m
Une fois ce guide terminé, votre environnement GKE est prêt à prendre en charge les volumes d'agent Filestore.
Étape suivante
Une fois votre cluster GKE et votre classe de stockage configurés, vous pouvez déployer des charges de travail d'agent d'IA avec état à l'aide de l'un des modèles d'orchestration suivants :
- Déployer des charges de travail à l'aide de GKE Agent Substrate.
- Déployer des charges de travail à l'aide de GKE Agent Sandbox.
- Configurer la liaison tardive du stockage dynamique .
- Déployer des charges de travail GKE autogérées