Kubernetes 中如何跨命名空间引用 Secret
在 Kubernetes 中,您可以通过使用 Secret 的 'secretName' 属性来引用其他命名空间中的 Secret。以下是一个示例,说明如何将一个命名空间中的 Secret 链接到其他命名空间中的 Secret。
假设我们有两个命名空间:'namespace-1' 和 'namespace-2'。我们想将 'namespace-1' 中的 Secret 链接到 'namespace-2' 中的 Secret。
首先,在 'namespace-1' 中创建一个 Secret,例如名为 'my-secret':
apiVersion: v1
kind: Secret
metadata:
name: my-secret
namespace: namespace-1
type: Opaque
data:
username: dXNlcm5hbWU=
password: cGFzc3dvcmQ=
然后,在 'namespace-2' 中创建一个 Secret,假设名为 'linked-secret',并将其链接到 'namespace-1' 中的 'my-secret':
apiVersion: v1
kind: Secret
metadata:
name: linked-secret
namespace: namespace-2
type: Opaque
data:
linked-username:
name: my-secret
namespace: namespace-1
key: username
linked-password:
name: my-secret
namespace: namespace-1
key: password
在上面的示例中,'linked-username' 和 'linked-password' 字段的值是一个 map,它们指向 'namespace-1' 中的 'my-secret' 的特定键值对。
现在,'namespace-2' 中的 'linked-secret' 将包含与 'namespace-1' 中的 'my-secret' 相同的值。您可以在 'namespace-2' 中的 Pod 中引用 'linked-secret' 的键值对,如下所示:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
namespace: namespace-2
spec:
containers:
- name: my-container
image: nginx
env:
- name: USERNAME
valueFrom:
secretKeyRef:
name: linked-secret
key: linked-username
- name: PASSWORD
valueFrom:
secretKeyRef:
name: linked-secret
key: linked-password
在上面的示例中,'my-pod' 中的 'my-container' 容器可以通过环境变量 'USERNAME' 和 'PASSWORD' 访问 'linked-secret' 中的 'linked-username' 和 'linked-password' 键值对。
这样,您就可以将一个命名空间中的 Secret 链接到其他命名空间中的 Secret。
原文地址: https://www.cveoy.top/t/topic/psNM 著作权归作者所有。请勿转载和采集!