Kubernetes 中如何跨命名空间引用 Secret
在 Kubernetes 中,可以通过 Secret 引用其他命名空间中的 Secret。下面是一个示例,展示了如何将一个命名空间中的 Secret 链接到另一个命名空间:
- 在命名空间 A 中创建一个 Secret:
apiVersion: v1
kind: Secret
metadata:
name: 'my-secret'
namespace: 'namespace-a'
type: Opaque
data:
username: '<base64-encoded-username>'
password: '<base64-encoded-password>'
- 创建一个 ServiceAccount,并将其绑定到命名空间 A 中的 Secret:
apiVersion: v1
kind: ServiceAccount
metadata:
name: 'my-service-account'
namespace: 'namespace-a'
secrets:
- name: 'my-secret'
- 在命名空间 B 中创建一个 Pod,并将 ServiceAccount 绑定到命名空间 A 中的 Secret:
apiVersion: v1
kind: Pod
metadata:
name: 'my-pod'
namespace: 'namespace-b'
spec:
serviceAccountName: 'my-service-account'
containers:
- name: 'my-container'
image: 'my-image'
在这个示例中,我们在命名空间 A 中创建了一个名为 'my-secret' 的 Secret。然后,在命名空间 A 中创建了一个名为 'my-service-account' 的 ServiceAccount,并将其绑定到 'my-secret'。最后,在命名空间 B 中创建了一个名为 'my-pod' 的 Pod,并将其 ServiceAccount 设置为 'my-service-account'。
通过这种方式,Pod 可以在命名空间 B 中使用 'my-secret' 中的凭据,而无需在命名空间 B 中重新创建 Secret。
请注意,要使用此方法,您需要确保 Pod 所在的命名空间具有访问命名空间 A 中 Secret 的权限。
原文地址: https://www.cveoy.top/t/topic/ptzw 著作权归作者所有。请勿转载和采集!