Я пытаюсь запустить helm status --tiller-namespace=$NAMESPACE $RELEASE_NAME
из контейнера внутри этого пространства имен.
У меня есть роль с правилом
- apiGroups:
- ""
resources:
- pods
- configmaps
verbs:
- get
- watch
, привязанная к учетной записи службы по умолчанию. Но я получаю ошибку
Ошибка: pods запрещен: Пользователь "system: serviceaccount: mynamespace: default" не может перечислить ресурс "pods" в группе API "" в пространстве имен "mynamespace"
Итак, я добавил глагол list
примерно так:
- apiGroups:
- ""
resources:
- pods
- configmaps
verbs:
- get
- watch
- list
, и теперь я перешел к ошибке cannot create resource "pods/portforward" in API group ""
. Я не смог найти в документации k8s ничего о том, как назначать разные глаголы разным ресурсам в одной и той же apiGroup, но на основании этого примера Я предполагал, что это должно работать:
- apiGroups:
- ""
resources:
- pods
- configmaps
verbs:
- get
- watch
- list
- apiGroups:
- ""
resources:
- pods/portforward
verbs:
- create
однако Теперь я получаю ошибку cannot get resource "configmaps" in API group ""
. Примечание. Я запускаю kubectl get cm $CMNAME
до . Я запускаю команду helm status
.
Так что, похоже, у меня было разрешение на kubectl get cm
до Я пытался добавить разрешение на создание pods / portforward.
Может кто-нибудь объяснить мне, пожалуйста?
также на кластере запущена версия k8s
Server Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.7+1.2.3.el7", GitCommit:"cfc2012a27408ac61c8883084204d10b31fe020c", GitTreeState:"archive", BuildDate:"2019-05-23T20:00:05Z", GoVersion:"go1.10.8", Compiler:"gc", Platform:"linux/amd64"}
и версия руля
Server: &version.Version{SemVer:"v2.12.1", GitCommit:"02a47c7249b1fc6d8fd3b94e6b4babf9d818144e", GitTreeState:"clean"}