许多 Kubernetes 秘密与一个 k8s 秘密中的许多密钥

Pre*_*ten 4 kubernetes

想象一个具有许多依赖项的复杂部署,需要连接到很多东西,并且秘密仅在这个复杂部署中使用当前命名空间。

你会建议拥有很多秘密吗:

  • certificates.yaml
  • redis-password.yaml
  • gcp-credentials.yaml
  • ETC....

或者使用大量密钥进行部署的一个秘密:

apiVersion: v1
kind: Secret
metadata:
  name: all-the-secrets
data:
  redis-password: asdfa
  certificate-key: asdfadf
  certificatee-crt: adfadf
  ...
Run Code Online (Sandbox Code Playgroud)

这些秘密将用作环境变量:

name: redis-password
valueFrom:
  secretKeyRef:
    name: secret-name
    key: key-name

Run Code Online (Sandbox Code Playgroud)

为什么其中一个比另一个更好?

诗。它们都将使用 kubeseal 进行加密

小智 8

无论您的 Pod 有多个秘密还是只有一个秘密,都没有什么区别。每当发生变化时,您的 pod 都需要知道。建议是,如果您的文件是独立的,则将它们分开,以避免再次更改相同的机密,即使单个文件发生更改也是如此。这只会帮助您管理您的秘密。如果您想为不同的秘密使用不同的 RBAC,这也会有所帮助。如果你不打算改变它们,那么一个秘密也可以。