Volume agen Filestore terintegrasi dengan Google Kubernetes Engine (GKE) untuk menyediakan penyimpanan file persisten dengan kepadatan tinggi dan latensi rendah untuk sandbox agen AI stateful, lingkungan developer, dan alur kerja multi-agen.
Panduan ini akan memandu Anda memahami prasyarat yang diperlukan untuk menggunakan volume agen Filestore di GKE.
Sebelum memulai
- Selesaikan penyiapan awal di Menyiapkan volume agen Filestore.
Aktifkan GKE API:
gcloud services enable container.googleapis.com \ --project=PROJECT_IDInstal komponen yang diperlukan untuk
gcloud:gcloud components install kubectl gke-gcloud-auth-plugin
Membuat cluster GKE
Buat cluster GKE yang terhubung ke Private Service Connect Anda.
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.svc.id.goog\
--scopes=cloud-platform \
--enable-agent-sandbox \
--addons=GcpFilestoreCsiDriver=DISABLED \
--cluster-version=1.36.0-gke.3302001
Ganti kode berikut:
CLUSTER_NAME: nama cluster baru.REGION: region tempat volume pool Anda berada, sepertius-central1.PROJECT_ID: Google Cloud Project ID Anda.VPC_NETWORK: nama jaringan VPC yang mendukung PSC.SUBNET_NAME: nama subnet.
Menyiapkan Workload Identity Federation for GKE dan IAM
Konfigurasi Akun Layanan Google (GSA) dengan izin untuk menyediakan volume Filestore dan ikat ke Akun Layanan Kubernetes (KSA) yang digunakan oleh driver CSI.
Buat Akun Layanan Google:
gcloud iam service-accounts create filestore-csi-gsa \ --display-name="Filestore CSI Driver GSA" \ --project=PROJECT_IDBerikan peran Cloud Filestore Editor (
roles/file.editor) ke akun layanan:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:filestore-csi-gsa@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/file.editor"Berikan peran Editor Cloud Filestore (
roles/file.editor) ke akun layanan default Compute Engine:PROJECT_NUMBER=$(gcloud projects describe PROJECT_ID \ --format="value(projectNumber)") gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/file.editor"Ikat KSA di namespace
gcp-filestore-csi-driverke GSA:gcloud iam service-accounts add-iam-policy-binding \ filestore-csi-gsa@PROJECT_ID.iam.gserviceaccount.com \ --role="roles/iam.workloadIdentityUser" \ --member="serviceAccount:PROJECT_ID.svc.id.goog[gcp-filestore-csi-driver/gcp-filestore-csi-controller-sa]" \ --project=PROJECT_ID
Men-deploy driver CSI Filestore
Dapatkan kredensial cluster:
gcloud container clusters get-credentials CLUSTER_NAME \ --region=REGION \ --project=PROJECT_IDBuat clone repositori driver dan terapkan 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
Anotasikan akun layanan pengontrol dengan GSA:
kubectl annotate serviceaccount gcp-filestore-csi-controller-sa \ --namespace=gcp-filestore-csi-driver \ --overwrite \ iam.gke.io/gcp-service-account=filestore-csi-gsa@PROJECT_ID.iam.gserviceaccount.comPastikan pod driver CSI sedang berjalan:
kubectl get pods -n gcp-filestore-csi-driver
Outputnya mirip dengan hal berikut ini:
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
Menerapkan StorageClass untuk kumpulan volume Anda
Untuk mengizinkan beban kerja GKE Anda menyediakan volume secara dinamis dari kumpulan volume, terapkan StorageClass Kubernetes ke cluster Anda.
Jika Anda sudah membuat manifes volume-pool-sc.yaml di
Menyiapkan volume agen Filestore,
lewati ke langkah 2.
Buat file bernama
volume-pool-sc.yamldengan konfigurasi berikut: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: DeleteGanti kode berikut:
PROJECT_ID: ID project Google Cloud Anda.LOCATION: region tempat volume pool Anda di-deploy, sepertius-central1.VOLUME_POOL_ID: ID volume pool Anda.
Terapkan manifes:
kubectl apply -f volume-pool-sc.yaml
Pastikan
StorageClasstersedia:kubectl get storageclass volume-pool-sc
Outputnya mirip dengan hal berikut ini:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE volume-pool-sc filestore.csi.storage.gke.io Delete Immediate true 1m
Setelah menyelesaikan panduan ini, lingkungan GKE Anda siap mendukung volume agen Filestore.
Langkah berikutnya
Setelah cluster GKE dan class penyimpanan dikonfigurasi, Anda dapat men-deploy workload agen AI stateful menggunakan salah satu pola orkestrasi berikut:
- Men-deploy workload menggunakan GKE Agent Substrate.
- Men-deploy workload menggunakan GKE Agent Sandbox.
- Konfigurasi binding lambat penyimpanan dinamis.
- Deploy workload GKE yang dikelola sendiri.