使用 Helm 3 和 K8s 集群 w/RBAC(X509 证书),Helm 需要什么权限?我认为它会为发布信息创建 ConfigMap?
With Helm 3 and K8s cluster w/RBAC (X509 certs), what permissions does Helm need? I think it creates ConfigMaps for release info?
我已经将我的集群 (k3d) 设置为具有一些 RBAC 规则,并且还创建了一个证书来识别我的用户以执行 kubectl
命令。我已将用户设置为通过特定命名空间中的 RoleBinding
获得 Role
。
我想做到这一点,这样他们就可以创建 Deployment
、Pod
、Service
,但不能创建 Secret
或 ConfigMap
。但是,如果我这样做,他们是否能够使用 Helm 来安装东西? Helm 不会在 Secret
s 或 ConfigMap
s 中存储有关发布的信息吗?
我是否需要授予用户访问权限才能同时创建这些内容?
示例角色
#################################################################################
################################## Example Role #################################
#################################################################################
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: my-role
namespace: my-namespace
rules:
- apiGroups: ["", "extensions", "apps"]
# Leaving out "configmaps" and "secrets"
resources: ["pods","deployments","services"]
verbs: ["*"]
是的,不幸的是你必须这样做。但从好的方面来说,您可以通过将动词定义为
来设置限制
["get, list, create"]
没有
["*"]
这赋予了全部权限。
我建议你检查一下 https://kubernetes.io/docs/reference/access-authn-authz/rbac
清楚地了解并确定您在 kubernetes 方面的需求和能力。
示例动词:
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
您还可以使用下面 link 中的 can-i 工具检查您的用户能力。
https://kubernetes.io/docs/reference/access-authn-authz/authorization/
希望这些 link 可以帮助到你。
顺便说一下,查看 Kind: labels 的图表和 yaml 文件。
这些是您需要访问的内容。
我已经将我的集群 (k3d) 设置为具有一些 RBAC 规则,并且还创建了一个证书来识别我的用户以执行 kubectl
命令。我已将用户设置为通过特定命名空间中的 RoleBinding
获得 Role
。
我想做到这一点,这样他们就可以创建 Deployment
、Pod
、Service
,但不能创建 Secret
或 ConfigMap
。但是,如果我这样做,他们是否能够使用 Helm 来安装东西? Helm 不会在 Secret
s 或 ConfigMap
s 中存储有关发布的信息吗?
我是否需要授予用户访问权限才能同时创建这些内容?
示例角色
#################################################################################
################################## Example Role #################################
#################################################################################
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: my-role
namespace: my-namespace
rules:
- apiGroups: ["", "extensions", "apps"]
# Leaving out "configmaps" and "secrets"
resources: ["pods","deployments","services"]
verbs: ["*"]
是的,不幸的是你必须这样做。但从好的方面来说,您可以通过将动词定义为
来设置限制["get, list, create"]
没有
["*"]
这赋予了全部权限。 我建议你检查一下 https://kubernetes.io/docs/reference/access-authn-authz/rbac 清楚地了解并确定您在 kubernetes 方面的需求和能力。
示例动词:
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
您还可以使用下面 link 中的 can-i 工具检查您的用户能力。
https://kubernetes.io/docs/reference/access-authn-authz/authorization/
希望这些 link 可以帮助到你。
顺便说一下,查看 Kind: labels 的图表和 yaml 文件。
这些是您需要访问的内容。