milvus-logo
LFAI
Casa
  • Guida all'amministrazione

Configurazione dell'accesso GCS per identità del carico di lavoro

Questo argomento illustra come configurare l'accesso al GCS per Workload Identity quando si installa Milvus con helm. Per ulteriori dettagli, consultare Workload Identity.

Prima di iniziare

Abilitare Workload Identity su cluster e pool di nodi utilizzando la CLI di Google Cloud o la console di Google Cloud. Workload Identity deve essere abilitato a livello di cluster prima di poterlo abilitare sui pool di nodi.

Configurare le applicazioni per utilizzare Workload Identity

  • Creare il bucket.
gcloud storage buckets create gs://milvus-testing-nonprod --project=milvus-testing-nonprod --default-storage-class=STANDARD --location=us-west1 --uniform-bucket-level-access
  • Creare un account di servizio Kubernetes da utilizzare per l'applicazione.
kubectl create serviceaccount milvus-gcs-access-sa
  • Creare un account di servizio IAM per l'applicazione o utilizzare un account di servizio IAM esistente. È possibile utilizzare qualsiasi account di servizio IAM in qualsiasi progetto dell'organizzazione.
gcloud iam service-accounts create milvus-gcs-access-sa \
    --project=milvus-testing-nonprod
  • Assicurarsi che l'account di servizio IAM abbia i ruoli necessari. È possibile assegnare ruoli aggiuntivi utilizzando il comando seguente:
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")'
  • Consentire all'account di servizio Kubernetes di impersonare l'account di servizio IAM aggiungendo un binding di policy IAM tra i due account di servizio. Questo binding consente all'account di servizio Kubernetes di agire come account di servizio IAM.
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]"
  • Annotate l'account di servizio Kubernetes con l'indirizzo e-mail dell'account di servizio IAM.
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

Verificare la configurazione di Workload Identity

Fare riferimento a Workload Identity. Eseguire il seguente comando all'interno del Pod:

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

Se il risultato è milvus-gcs-access-sa@milvus-testing-nonprod.iam.gserviceaccount.com, è tutto ok.

Distribuire Milvus

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

il contenuto di 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

Tradotto daDeepL

Try Managed Milvus for Free

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

Get Started
Feedback

Questa pagina è stata utile?