使用 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

我想做到这一点,这样他们就可以创建 DeploymentPodService,但不能创建 SecretConfigMap。但是,如果我这样做,他们是否能够使用 Helm 来安装东西? Helm 不会在 Secrets 或 ConfigMaps 中存储有关发布的信息吗?

我是否需要授予用户访问权限才能同时创建这些内容?

示例角色

#################################################################################
################################## 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 文件。

这些是您需要访问的内容。