milvus-logo
LFAI
フロントページへ
  • 管理ガイド

ワークロードアイデンティティによる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")'
  • 2つのサービスアカウント間に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]"
  • 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を参照してください。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

翻訳DeepLogo

Try Managed Milvus for Free

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

Get Started
フィードバック

このページは役に立ちましたか ?