在另一个中使用 kubernetes secret

use kubernetes secret in another one

如何在另一个秘密 Y 中使用秘密 X 密钥 my-key 作为 some-other-key?这两个秘密也有其他密钥。

理性: mysql 实例生成一个秘密,其中包含密钥为 mysql-passwordmysql-root-password 的用户的密码。 自定义资源 DbInstance 需要机密的名称,其中包含密钥 userpassword。 (我用的是https://github.com/kloeckner-i/db-operator) 如何将其中一个的值放入另一个?

当然我可以手动完成,方法是从 kubectl get secret mysql-generated-secret 复制编码值并将其粘贴到 kubectl edit secret dbinstance-secret。 有没有更好的办法?如果可能的话,在 k8s 中引用,或者一个很好的自动化。 (我会找到类似pwd=$(kubectl get secret -o yaml ... | yq .data.mysql-password | base64 -d) && helm update --set password=$pwd ...; unset pwd的方法,但这是最好的方法吗?)

相似:

自动执行此操作的最佳方法是使用操作员。侦听秘密 mysql-generated-secret,在创建或修改触发器时 -> 创建 dbinstance-secret

这是一个在命名空间之间同步秘密的操作员,您可以使用相同的基本代码并根据需要修改它。

https://github.com/zakkg3/ClusterSecret