تكوين وصول GCS حسب هوية حمل العمل
يقدم هذا الموضوع كيفية تكوين الوصول إلى GCS حسب هوية عبء العمل عند تثبيت Milvus مع Helm. لمزيد من التفاصيل، راجع هوية عبء العمل.
قبل البدء
يرجى تمكين هوية حمل العمل على المجموعات وتجمعات العُقد باستخدام Google Cloud CLI أو وحدة تحكم Google Cloud. يجب تمكين هوية حمل العمل على مستوى المجموعة قبل أن تتمكن من تمكين هوية حمل العمل على تجمعات العُقد.
تكوين التطبيقات لاستخدام هوية حمل العمل
- إنشاء دلو.
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
التحقق من إعداد هوية عبء العمل
يرجى الرجوع إلى هوية حمل العمل. قم بتشغيل الأمر التالي داخل 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
، فلا بأس.
نشر ميلفوس
helm install -f values.yaml my-release milvus/milvus
محتويات القيم.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