Os volumes de agente do Filestore se integram ao Google Kubernetes Engine (GKE) para fornecer armazenamento de arquivos persistente de alta densidade e baixa latência para sandboxes de agentes de IA com estado, ambientes de desenvolvimento e Agentic Workflows.
Este guia explica os pré-requisitos necessários para usar volumes de agente do Filestore no GKE.
Antes de começar
- Conclua a configuração inicial em Configurar volumes de agente do Filestore.
Ative a API GKE:
gcloud services enable container.googleapis.com \ --project=PROJECT_IDInstale os componentes necessários para
gcloud:gcloud components install kubectl gke-gcloud-auth-plugin
Criar um cluster do GKE
Crie um cluster do GKE conectado ao 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
Substitua:
CLUSTER_NAME: o nome do novo cluster;REGION: a região em que o pool de volumes reside, comous-central1;PROJECT_ID: o ID do Cloud de Confiance by S3NS projeto;VPC_NETWORK: o nome da rede VPC ativada para PSC;SUBNET_NAME: o nome da sub-rede.
Configurar a Federação de Identidade da Carga de Trabalho para GKE e IAM
Conceda à conta de serviço do Kubernetes usada pelo driver CSI e à conta de serviço padrão do Compute Engine permissões para provisionar volumes do Filestore:
Consiga o número do projeto:
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"Substitua
PROJECT_IDpelo ID do projeto.Conceda o papel de editor do Cloud Filestore (
roles/file.editor) no projeto à conta de serviço do Kubernetes (gcp-filestore-csi-controller-sa) no namespacegcp-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=NoneSubstitua:
PROJECT_ID: o ID do Cloud de Confiance by S3NS projeto;PROJECT_NUMBER: o número do seu Cloud de Confiance by S3NS projeto.
Conceda o papel de editor do Cloud Filestore (
roles/file.editor) no projeto à conta de serviço padrão do 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
Implantar o driver CSI do Filestore
Consiga as credenciais do cluster:
gcloud container clusters get-credentials CLUSTER_NAME \ --region=REGION \ --project=PROJECT_IDClone o repositório do driver e aplique a sobreposição
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
Verifique se os pods do driver CSI estão em execução:
kubectl get pods -n gcp-filestore-csi-driver
O resultado será assim:
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
Aplicar a StorageClass ao pool de volumes
Para permitir que as cargas de trabalho do GKE provisionem volumes dinamicamente do pool de volumes, aplique uma StorageClass do Kubernetes ao cluster.
Se você já criou o manifesto volume-pool-sc.yaml em
Configurar volumes de agente do Filestore,
pule para a etapa 2.
Crie um arquivo chamado
volume-pool-sc.yamlcom a seguinte configuração: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: DeleteSubstitua:
PROJECT_ID: o ID do seu Cloud de Confiance projeto.LOCATION: a região em que o pool de volumes está implantado, comous-central1;VOLUME_POOL_ID: o identificador do pool de volumes.
Aplique o manifesto:
kubectl apply -f volume-pool-sc.yaml
Verifique se a
StorageClassestá disponível:kubectl get storageclass volume-pool-sc
O resultado será assim:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE volume-pool-sc filestore.csi.storage.gke.io Delete Immediate true 1m
Depois de concluir este guia, o ambiente do GKE estará pronto para oferecer suporte a volumes de agente do Filestore.
A seguir
Com o cluster do GKE e a classe de armazenamento configurados, você pode implantar cargas de trabalho de agente de IA com estado usando um dos seguintes padrões de orquestração:
- Implantar cargas de trabalho usando o substrato do agente do GKE.
- Implantar cargas de trabalho usando o sandbox do agente do GKE.
- Configurar a vinculação tardia de armazenamento dinâmico .
- Implantar cargas de trabalho do GKE autogerenciadas.