🚀 Попробуйте Zilliz Cloud, полностью управляемый Milvus, бесплатно — ощутите 10-кратное увеличение производительности! Попробовать сейчас>

milvus-logo
LFAI
Главная
  • Руководство по администрированию
  • Home
  • Docs
  • Руководство по администрированию

  • Развертывание

  • На облаках

  • Облачное хранилище

  • GCP

Настройка доступа к GCS по идентификатору рабочей нагрузки

В этой теме рассказывается о том, как настроить доступ к gcs по Workload Identity при установке Milvus с помощью helm. Для получения дополнительной информации см. раздел Workload Identity.

Перед началом работы

Включите Workload Identity на кластерах и пулах узлов с помощью Google Cloud CLI или консоли Google Cloud. Workload Identity должна быть включена на уровне кластера, прежде чем вы сможете включить Workload Identity на пулах узлов.

Настройка приложений для использования Workload Identity

  • Создайте ведро.
gcloud storage buckets create gs://milvus-testing-nonprod --project=milvus-testing-nonprod --default-storage-class=STANDARD --location=us-west1 --uniform-bucket-level-access
  • Создайте учетную запись службы Kubernetes для использования приложением.
kubectl create serviceaccount milvus-gcs-access-sa
  • Создайте учетную запись службы IAM для приложения или используйте существующую учетную запись службы IAM. Вы можете использовать любую учетную запись службы IAM в любом проекте вашей организации.
gcloud iam service-accounts create milvus-gcs-access-sa \
    --project=milvus-testing-nonprod
  • Убедитесь, что в учетной записи службы IAM есть необходимые роли. Дополнительные роли можно предоставить с помощью следующей команды:
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")'
  • Разрешите учетной записи службы Kubernetes имперсонифицировать учетную запись службы IAM, добавив привязку политики IAM между двумя учетными записями службы. Эта привязка позволяет учетной записи службы Kubernetes действовать в качестве учетной записи службы 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]"
  • Укажите в аннотации к учетной записи службы Kubernetes адрес электронной почты учетной записи службы 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

Проверьте настройку Workload Identity

Обратитесь к разделу Workload Identity. Выполните следующую команду внутри бода:

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

Если результат milvus-gcs-access-sa@milvus-testing-nonprod.iam.gserviceaccount.com, все в порядке.

Разверните Milvus

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

содержимое файла 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

Попробуйте Managed Milvus бесплатно

Zilliz Cloud работает без проблем, поддерживается Milvus и в 10 раз быстрее.

Начать
Обратная связь

Была ли эта страница полезной?