我能想到的一种方法是在定义 Pod 时设置一个环境,其值为 Pod 的命名空间。
无需更改 Pod 即可动态获取命名空间
更好,因为它减轻了构建 Pod 的负担。
有没有办法获取 Pod 中当前的命名空间?
尝试该文件:
/var/run/secrets/kubernetes.io/serviceaccount/namespace
如果您想使用环境变量,则无需在 pod 规范中设置静态命名空间环境变量,您可以使用“向下 API”让 k8s 使用当前命名空间动态填充它。请参阅https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/#the-downward-api