Я раскручиваю kubernetes
работу как helm
pre-install
крючок для GKE. В задании используется google/cloud-sdk
образ, и я хочу, чтобы он создавал постоянный диск вычислительного движка.
Вот его spec
:
spec:
restartPolicy: OnFailure
containers:
- name: create-db-hook-container
image: google/cloud-sdk:latest
command: ["gcloud"]
args: ["compute", "disks", "create", "--size={{ .Values.volumeMounts.gceDiskSize }}", "--zone={{ .Values.volumeMounts.gceDiskZone }}", "{{ .Values.volumeMounts.gceDiskName }}"]
Однако это не удается со следующей ошибкой:
brazen-lobster-create-pd-hook-nc2v9 create-db-hook-container ERROR:
(gcloud.compute.disks.create) Could not fetch resource: brazen-lobster-create-pd-hook-nc2v9
create-db-hook-container
- Insufficient Permission: Request had insufficient authentication scopes.
brazen-lobster-create-pd-hook-nc2v9 create-db-hook-container
Очевидно, я должен предоставить gcloud.compute.disks.create
разрешение.
У меня вопрос: кому я должен предоставить это разрешение?
Это разрешение GCP IAM, поэтому я предполагаю, что оно не может быть предоставлено специально для k8s
ресурса (?), Поэтому оно не может быть обработано в контексте k8s
RBAC, верно?
изменить: я создал ComputeDiskCreate
настраиваемую роль, которая включает два разрешения:
gcloud.compute.disks.create
gcloud.compute.disks.list
Я привязал его к сервисному аккаунту
service-2340842080428@container-engine-robot.uam.gserviceaccount.com
что моя IAM
облачная консоль Google дала имя
Сервисный агент Kubernetes Engine
но результат все тот же.
k8s
тома - ›kubernetes.io/docs/concepts/storage/volumes/#gcepersistentdisk. Есть ли способ создать настоящий постоянный диск, кромеgcloud compute disk create
? - person pkaramol   schedule 22.11.2019