🚀 免費嘗試 Zilliz Cloud,完全托管的 Milvus,體驗速度提升 10 倍!立即嘗試

milvus-logo
LFAI
主頁
  • 管理指南
  • Home
  • Docs
  • 管理指南

  • 部署

  • 雲端儲存

  • GCP

依據工作負載身分設定 GCS 存取

本主題介紹當您使用 helm 安裝 Milvus 時,如何透過 Workload Identity 設定 gcs 存取。 詳細資訊請參閱Workload Identity

開始之前

請使用 Google Cloud CLI 或 Google Cloud 主控台在群集和節點池上啟用 Workload Identity。必須先在群集層級啟用 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")'
  • 透過在兩個服務帳戶之間新增 IAM 策略綁定,允許 Kubernetes 服務帳戶冒充 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]"
  • 使用 IAM 服務帳戶的電子郵件地址註解 Kubernetes 服務帳戶。
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。在 Pod 內執行下列指令:

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 ,就OK了。

部署 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

免費嘗試托管的 Milvus

Zilliz Cloud 無縫接入,由 Milvus 提供動力,速度提升 10 倍。

開始使用
反饋

這個頁面有幫助嗎?