milvus-logo
LFAI
홈페이지
  • 관리 가이드
    • 배포

워크로드 아이덴티티로 GCS 액세스 구성하기

이 항목에서는 헬름과 함께 Milvus를 설치할 때 워크로드 아이덴티티로 gcs 액세스를 구성하는 방법을 소개합니다. 자세한 내용은 워크로드 아이덴티티를 참조하세요.

시작하기 전에

클러스터와 노드 풀에서 구글 클라우드 CLI 또는 구글 클라우드 콘솔을 사용하여 워크로드 아이덴티티를 활성화하세요. 노드 풀에서 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]"
  • 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

워크로드 아이덴티티 설정 확인

워크로드 아이덴티티를 참조하세요. 파드 내에서 다음 명령어를 실행한다:

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

번역DeepLogo

Try Managed Milvus for Free

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

Get Started
피드백

이 페이지가 도움이 되었나요?