kubernetes - kubernetes secret 管理

标签 kubernetes kubernetes-secrets

我们从Kubernetes开始,想知道其他项目如何管理Kubernetes的 secret :

  • 由于Kubernetes secret 值仅是base64编码的,因此不建议将 secret 提交到源代码控制
  • 如果不提交源代码管理,则应将其保存在其他地方的中央位置,否则就没有单一的事实来源。如果将其存储在其他地方(例如Hashicorp Vault),则如何与CI集成? CI是否从Vault获取值,是否按需在Kubernetes中创建 secret 资源?
  • 另一种方法可能是拥有一个专门的团队来处理基础结构,并且只有该团队才知道并管理 secret 。但是,如果项目数量很大,如果这个团队有可能成为瓶颈,那么
  • 最佳答案

    how other projects manage Kubernetes secrets



    由于它们不是(至少目前还不是)适当的 secret (base64编码),因此我们将它们分隔为受限访问git存储库。

    我们的大多数项目都具有代码存储库(与CI / CD管道中的部署和服务等非 secret 相关的 list )和单独的 list 库(包含 namespace ,共享数据库init, secret 以及或多或少的以下任何一种):时间初始化与CI / CD分开,需要额外的许可才能实施,或者应以其他任何方式(例如 secret )加以限制)。

    话虽这么说,尽管常规开发人员无法访问受限制的存储库,但必须特别注意CI / CD管道,因为即使您保护了 secret ,也可以在CI / CD阶段知道(并可以显示/滥用)它们。 ,因此那里的安全性可能很弱。通过让我们的DevOps之一监督和批准( protected 分支机构)对CI / CD管道的任何更改,就可以减轻这种情况,这与高级负责人监督要部署到生产环境的代码更改的方式几乎相同。

    请注意,这在很大程度上取决于项目的数量和人员,以及在安全性/开发压力/基础架构集成方面的实际项目需求。

    关于kubernetes - kubernetes secret 管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51624230/

    相关文章:

    kubernetes - 寻找使 "kubectl rollout"等待足够长的时间以使服务完成加载数据库的方法

    elasticsearch - 将Elastic Search安装到Azure Kubernetes Services的方法

    ssl - 从 secret 创建 OpenShift TLS 路由

    kubernetes - HashiCorp Vault 填充 kubernetes secret

    kubernetes - 如何在 Helm 中使用环境/ secret 变量?

    linux - 如何为 kubectl 命令提供输入?

    kubernetes - 种类和 kubectl : The connection to the server localhost:8080 was refused - did you specify the right host or port?

    nginx - 无法使用 Ingress SubPath 访问 GUI

    Kubernetes:挂载的文件是一个...目录?

    Kubernetes 入口 Controller 无法找到证书 key