Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多个kubernetes秘密vs一个k8s秘密中的多个密钥_Kubernetes - Fatal编程技术网

多个kubernetes秘密vs一个k8s秘密中的多个密钥

多个kubernetes秘密vs一个k8s秘密中的多个密钥,kubernetes,Kubernetes,想象一个复杂的部署,它有许多依赖项,需要连接到很多东西,其中机密仅用于当前名称空间和这个复杂的部署 你会推荐有很多秘密吗: certificates.yaml redis password.yaml gcp凭证.yaml 等等 或者使用大量密钥部署的一个秘密: apiVersion: v1 kind: Secret metadata: name: all-the-secrets data: redis-password: asdfa certificate-key: asdfad

想象一个复杂的部署,它有许多依赖项,需要连接到很多东西,其中机密仅用于当前名称空间和这个复杂的部署

你会推荐有很多秘密吗:

  • certificates.yaml
  • redis password.yaml
  • gcp凭证.yaml
  • 等等
或者使用大量密钥部署的一个秘密:

apiVersion: v1
kind: Secret
metadata:
  name: all-the-secrets
data:
  redis-password: asdfa
  certificate-key: asdfadf
  certificatee-crt: adfadf
  ...
这些秘密将用作环境变量:

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

为什么一个比另一个好


另外,它们都将用kubeseal加密,无论是多个秘密还是一个秘密,你的pod都没有区别。无论何时有变化,你的播客都需要知道。建议是,如果您的文件是独立的,那么将它们分开,以避免再次更改相同的机密,即使单个文件中有更改。这只会帮助你管理你的秘密。如果您希望为不同的机密使用不同的RBAC,这也会有所帮助。
如果您不打算更改它们,那么一个秘密也可以。

您应该只向使用该数据的播客公开敏感数据。许多较小的秘密在管理许多不同的对象时有一个折衷方案,但它们有一个重要的优势——关注点的隔离和分离


如果选中,则机密仅发送到pod需要的节点。这就是说,对所有敏感数据使用一个秘密有点违背了目的,因为它可能部署在所有节点上,并且将所有数据公开给所有pod,即使特定pod不使用的数据也将可见。

对于需要许多秘密的复杂部署,请检查。Cert manager为多个应用程序创建和管理每个应用程序的证书、密钥和机密,这些机密可以装入POD中

Cert manager还与多种源绑定,如Let's Encrypt、HashiCorp Vault、Venafi、简单签名密钥对或自签名。更多信息请访问: