milvus-logo
LFAI
Home
  • Guia de Administração

Configurar o acesso ao GCS por identidade de carga de trabalho

Este tópico apresenta como configurar o acesso ao gcs pela Identidade de carga de trabalho quando você instala o Milvus com o helm. Para obter mais detalhes, consulte Identidade de carga de trabalho.

Antes de começar

Ative o Workload Identity em clusters e pools de nós usando a CLI do Google Cloud ou o console do Google Cloud. O Workload Identity deve ser ativado no nível do cluster antes que você possa ativar o Workload Identity nos pools de nós.

Configurar aplicativos para usar o Workload Identity

  • Criar bucket.
gcloud storage buckets create gs://milvus-testing-nonprod --project=milvus-testing-nonprod --default-storage-class=STANDARD --location=us-west1 --uniform-bucket-level-access
  • Crie uma conta de serviço do Kubernetes para o seu aplicativo usar.
kubectl create serviceaccount milvus-gcs-access-sa
  • Crie uma conta de serviço IAM para seu aplicativo ou use uma conta de serviço IAM existente. Você pode usar qualquer conta de serviço IAM em qualquer projeto da sua organização.
gcloud iam service-accounts create milvus-gcs-access-sa \
    --project=milvus-testing-nonprod
  • Certifique-se de que a sua conta de serviço IAM tem as funções de que necessita. Você pode conceder funções adicionais usando o seguinte 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")'
  • Permitir que a conta de serviço do Kubernetes se faça passar pela conta de serviço do IAM adicionando uma associação de política do IAM entre as duas contas de serviço. Essa associação permite que a conta de serviço do Kubernetes atue como a conta de serviço do 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 a conta de serviço do Kubernetes com o endereço de email da conta de serviço do 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

Verificar a configuração da Identidade de Carga de Trabalho

Consulte Identidade de Carga de Trabalho. Execute o seguinte comando dentro do Pod:

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

Se o resultado for milvus-gcs-access-sa@milvus-testing-nonprod.iam.gserviceaccount.com, está tudo bem.

Implantar o Milvus

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

o conteúdo do 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

Traduzido porDeepL

Try Managed Milvus for Free

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

Get Started
Feedback

Esta página foi útil?