角色/集群角色更改是否需要重新启动/替换绑定到这些角色的 pod?

问题描述 投票:0回答:2

例如,我改变角色动词

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

并运行 Helm

upgrade
。是否应该重新启动/替换绑定到这些角色的 Pod? (这些 pod 可以在没有 Helm 的情况下手动创建。)

kubernetes kubernetes-helm
2个回答
4
投票

无需重新创建 pod。当您创建 Role/RoleBinding 或 ClusterRole/ClusterRoleBinding 时,实体会立即自动获得这些权限。

一个证明曾经是 Helm 本身。当你全新安装 Helm 时,你会从 Tiller 那里得到这个错误,说没有访问集群的权限来做任何事情,但是你给了 Tiller

cluster-role
(或任何其他更谨慎的)权限,它会立即开始工作。


2
投票

这取决于您的 pod 使用的

ServiceAccount

假设您正在为部署的 Pod 使用 default ServiceAccount。然后让你的 pod 额外访问资源、动词等。你必须通过

ClusterRole
.
如果你有一个 
ServiceAccount
目前没有绑定到你的 pod,那么你必须执行

ClusterRoleBinding

然后通过设计的字段

ServiceAccount
ClusterRoleBinding
加载到 pod。
注意
您不能更新已创建的 pod 的
ServiceAccount
。在这种情况下,您必须重新启动它。 这里是更详细的信息:
在这里输入链接描述

© www.soinside.com 2019 - 2024. All rights reserved.