首页 > 解决方案 > 没有权限列出秘密的 Helm 部署

问题描述

我正在尝试使用 Helm 从 Azure DevOps 管道将应用程序部署到私有 Kubernetes 集群。我已经设置了一个角色绑定,它不包括秘密列表或获取它们(它确实具有部署它们的秘密)create。我想尽可能紧密地保持角色绑定。updatepatchdelete

但是在当前部署中会发生错误:

query: failed to query with labels: secrets is forbidden: User "system:serviceaccount:my-namespace:my-service-account" cannot list resource "secrets" in API group "" in the namespace "my-namespace"

Helm(可能)正在尝试读取 sh.helm.release.* 机密以确定应用程序的当前状态。

显然,我可以在角色中添加listgetfor 秘密,但我不想这样做,因为这也会授予对其他秘密的访问权限。

两个问题:

  1. 有没有办法在不授予list(并且可能get)秘密的情况下部署掌舵图?
  2. 这些秘密究竟是什么?我已经检查过它们,但它是二进制的。我认为数据曾经在普通的 ConfigMap 中。重新使用 ConfigMaps 处理这些数据是否明智/可能?

谢谢你的帮助。

问。

标签: azure-devopskubernetes-helm

解决方案


推荐阅读