milvus-logo
LFAI
Home
  • Guide d'administration

Configuration de l'accès GCS par identité de charge de travail

Cette rubrique explique comment configurer l'accès GCS par identité de charge de travail lorsque vous installez Milvus avec helm. Pour plus de détails, reportez-vous à Identité de charge de travail.

Avant de commencer

Activez Workload Identity sur les clusters et les pools de nœuds à l'aide de Google Cloud CLI ou de la console Google Cloud. L'identité de la charge de travail doit être activée au niveau du cluster avant de pouvoir activer l'identité de la charge de travail sur les pools de nœuds.

Configurer les applications pour utiliser Workload Identity

  • Créer un seau.
gcloud storage buckets create gs://milvus-testing-nonprod --project=milvus-testing-nonprod --default-storage-class=STANDARD --location=us-west1 --uniform-bucket-level-access
  • Créez un compte de service Kubernetes pour votre application.
kubectl create serviceaccount milvus-gcs-access-sa
  • Créez un compte de service IAM pour votre application ou utilisez un compte de service IAM existant. Vous pouvez utiliser n'importe quel compte de service IAM dans n'importe quel projet de votre organisation.
gcloud iam service-accounts create milvus-gcs-access-sa \
    --project=milvus-testing-nonprod
  • Assurez-vous que votre compte de service IAM possède les rôles dont vous avez besoin. Vous pouvez attribuer des rôles supplémentaires à l'aide de la commande suivante :
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")'
  • Autoriser le compte de service Kubernetes à se faire passer pour le compte de service IAM en ajoutant une liaison de stratégie IAM entre les deux comptes de service. Cette liaison permet au compte de service Kubernetes d'agir en tant que compte de service 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]"
  • Annotez le compte de service Kubernetes avec l'adresse électronique du compte de service 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

Vérifier la configuration de l'identité de la charge de travail

Veuillez vous référer à Workload Identity. Exécutez la commande suivante à l'intérieur du Pod :

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

Si le résultat est milvus-gcs-access-sa@milvus-testing-nonprod.iam.gserviceaccount.com, tout va bien.

Déployer Milvus

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

le contenu du fichier 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

Traduit parDeepLogo

Try Managed Milvus for Free

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

Get Started
Feedback

Cette page a-t - elle été utile ?