k8s 使用来自不同命名空间的秘密

k8s Use secret from different namespace

我们有一些过程可以在 k8s 的特定命名空间中创建一些人工制品,其中一个人工制品是在此命名空间(例如 ns1)中创建的秘密。 问题是这个秘密也需要从不同的命名空间使用(ns1 和 ns2 中的应用程序需要使用它),在这种情况下我有哪个选项? 我应该将秘密复制到 ns2(从安全角度不确定这是否是正确的选择),是否有一个好的 pattern/direction/tool 可以帮助解决这种情况?

我建议退房:https://github.com/zakkg3/ClusterSecret

集群机密自动执行跨命名空间克隆机密的过程。

当您需要多个命名空间中的秘密时。你必须:

1- 从原始命名空间获取秘密。

2- 使用新命名空间编辑机密。

3- 在新命名空间中重新创建新机密。

这可以通过一条命令完成:

kubectl get secret <secret-name> -n <source-namespace> -o yaml \
| sed s/"namespace: <source-namespace>"/"namespace: <destination-namespace>"/\
| kubectl apply -n <destination-namespace> -f -

Clustersecrets 自动执行此操作。它会跟踪你的秘密中的任何修改,它也会对新的命名空间做出反应。