Требует ли изменения Role / ClusterRole перезапуск / замена модулей, связанных с этими ролями? - PullRequest
0 голосов
/ 11 ноября 2019

Например, я меняю ролевые глаголы

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: provisioning-role
rules:
- apiGroups: ["apps"]
  resources: ["deployments"]
  verbs: ["get", "list", "watch"]

и запускаю шлем upgrade. Следует ли перезапустить / заменить блоки, связанные с этими ролями? (Эти стручки могут быть созданы вручную без шлема.)

Ответы [ 2 ]

1 голос
/ 11 ноября 2019

Не нужно воссоздавать стручки. Когда вы создаете Role / RoleBinding или ClusterRole / ClusterRoleBinding, сущности автоматически получают эти разрешения сразу.

Один из них раньше был Хелмом. Когда вы заново устанавливаете Helm, вы получаете эту ошибку от Tiller, говоря, что у него нет доступа к кластеру, чтобы что-либо делать, но затем вы предоставляете Tiller cluster-role (или любые другие с большей осторожностью) разрешения, и он сразу начинает работать.

0 голосов
/ 11 ноября 2019

Это зависит от ServiceAccount, который использует ваш модуль.

Допустим, вы используете значение ServiceAccount по умолчанию для развернутых модулей. Затем, чтобы дать вашему модулю дополнительный доступ к ресурсам, глаголам и т. Д., Вы должны связать ClusterRole с этим ServiceAccount через ClusterRoleBinding.

Если у вас есть ServiceAccount, который в данный момент не привязан к вашему стручку, вы должны выполнить ClusterRoleBinding и затем загрузить ServiceAccount в стручок через специальное поле spec.serviceAccountName. Обратите внимание , что вы не можете обновить ServiceAccount уже созданного модуля. Вы должны перезапустить его в этом случае.

Вот более подробная информация: введите описание ссылки здесь

...