在 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。

Kubernetes 中如何跨命名空间引用 Secret

原文地址: https://www.cveoy.top/t/topic/psNM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录