milvus-logo
LFAI
Home
  • Leitfaden für die Verwaltung

Konfigurieren des GCS-Zugriffs über die Workload-Identität

In diesem Thema wird erläutert, wie Sie den GCS-Zugriff über die Workload-Identität konfigurieren, wenn Sie Milvus mit helm installieren. Weitere Einzelheiten finden Sie unter Workload-Identität.

Bevor Sie beginnen

Aktivieren Sie die Workload-Identität auf Clustern und Knotenpools mithilfe der Google Cloud CLI oder der Google Cloud-Konsole. Workload-Identität muss auf Clusterebene aktiviert werden, bevor Sie Workload-Identität auf Knotenpools aktivieren können.

Konfigurieren Sie Anwendungen für die Verwendung von Workload-Identität

  • Bucket erstellen.
gcloud storage buckets create gs://milvus-testing-nonprod --project=milvus-testing-nonprod --default-storage-class=STANDARD --location=us-west1 --uniform-bucket-level-access
  • Erstellen Sie ein Kubernetes-Dienstkonto, das Ihre Anwendung verwenden soll.
kubectl create serviceaccount milvus-gcs-access-sa
  • Erstellen Sie ein IAM-Dienstkonto für Ihre Anwendung oder verwenden Sie stattdessen ein vorhandenes IAM-Dienstkonto. Sie können jedes beliebige IAM-Dienstkonto in jedem Projekt in Ihrer Organisation verwenden.
gcloud iam service-accounts create milvus-gcs-access-sa \
    --project=milvus-testing-nonprod
  • Vergewissern Sie sich, dass Ihr IAM-Servicekonto über die benötigten Rollen verfügt. Sie können mit dem folgenden Befehl zusätzliche Rollen zuweisen:
gcloud projects add-iam-policy-binding milvus-testing-nonprod \
    --member "serviceAccount:milvus-gcs-access-sa@milvus-testing-nonprod.iam.gserviceaccount.com" \
    --role "roles/storage.admin" \
    --condition='title=milvus-testing-nonprod,expression=resource.service == "storage.googleapis.com" && resource.name.startsWith("projects/_/buckets/milvus-testing-nonprod")'
  • Erlauben Sie dem Kubernetes-Dienstkonto, das IAM-Dienstkonto zu verkörpern, indem Sie eine IAM-Richtlinienbindung zwischen den beiden Dienstkonten hinzufügen. Diese Bindung ermöglicht es dem Kubernetes-Dienstkonto, als IAM-Dienstkonto zu fungieren.
gcloud iam service-accounts add-iam-policy-binding milvus-gcs-access-sa@milvus-testing-nonprod.iam.gserviceaccount.com \
    --role "roles/iam.workloadIdentityUser" \
    --member "serviceAccount:milvus-testing-nonprod.svc.id.goog[default/milvus-gcs-access-sa]"
  • Vermerken Sie das Kubernetes-Dienstkonto mit der E-Mail-Adresse des IAM-Dienstkontos.
kubectl annotate serviceaccount milvus-gcs-access-sa \
    --namespace default \
    iam.gke.io/gcp-service-account=milvus-gcs-access-sa@milvus-testing-nonprod.iam.gserviceaccount.com

Überprüfen Sie die Einrichtung der Workload-Identität

Weitere Informationen finden Sie unter Workload-Identität. Führen Sie den folgenden Befehl innerhalb des Pods aus:

curl -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/email

Wenn das Ergebnis milvus-gcs-access-sa@milvus-testing-nonprod.iam.gserviceaccount.com lautet, ist es in Ordnung.

Stellen Sie Milvus bereit

helm install -f values.yaml my-release milvus/milvus

den Inhalt der values.yaml:

cluster:
    enabled: true

service:
    type: LoadBalancer

minio:
    enabled: false

serviceAccount:
    create: false
    name: milvus-gcs-access-sa

externalS3:
    enabled: true
    host: storage.googleapis.com
    port: 443
    rootPath: milvus/my-release
    bucketName: milvus-testing-nonprod
    cloudProvider: gcp
    useSSL: true
    useIAM: true

Übersetzt vonDeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

War diese Seite hilfreich?