milvus-logo
LFAI
Home
  • Guía de administración

Configurar Acceso GCS por Identidad de Carga de Trabajo

Este tema presenta cómo configurar el acceso gcs por Workload Identity cuando instala Milvus con helm. Para más detalles, consulte Workload Identity.

Antes de comenzar

Habilite Workload Identity en los clústeres y grupos de nodos mediante la CLI de Google Cloud o la consola de Google Cloud. Workload Identity debe estar habilitado a nivel de clúster antes de que pueda habilitar Workload Identity en grupos de nodos.

Configuración de aplicaciones para utilizar Workload Identity

  • Crear cubo.
gcloud storage buckets create gs://milvus-testing-nonprod --project=milvus-testing-nonprod --default-storage-class=STANDARD --location=us-west1 --uniform-bucket-level-access
  • Cree una cuenta de servicio de Kubernetes para que la utilice su aplicación.
kubectl create serviceaccount milvus-gcs-access-sa
  • Cree una cuenta de servicio IAM para su aplicación o utilice una cuenta de servicio IAM existente. Puede utilizar cualquier cuenta de servicio IAM en cualquier proyecto de su organización.
gcloud iam service-accounts create milvus-gcs-access-sa \
    --project=milvus-testing-nonprod
  • Asegúrese de que su cuenta de servicio IAM tiene los roles que necesita. Puede conceder funciones adicionales mediante el siguiente comando:
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")'
  • Permita que la cuenta de servicio de Kubernetes se haga pasar por la cuenta de servicio de IAM añadiendo un enlace de política de IAM entre las dos cuentas de servicio. Esta vinculación permite que la cuenta de servicio de Kubernetes actúe como la cuenta de servicio de 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]"
  • Anote la cuenta de servicio Kubernetes con la dirección de correo electrónico de la cuenta de servicio 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

Verifique la configuración de Workload Identity

Consulte Identidad de carga de trabajo. Ejecute el siguiente comando dentro del Pod:

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

Si el resultado es milvus-gcs-access-sa@milvus-testing-nonprod.iam.gserviceaccount.com, está bien.

Despliega Milvus

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

el contenido de 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

Traducido porDeepLogo

Try Managed Milvus for Free

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

Get Started
Feedback

¿Fue útil esta página?