如何获取 Pod 中的当前命名空间?

How to get the current namespace in a Pod?

我能想到的一种方法是在定义Pod时设置一个环境,其值为Pod的命名空间。
无需更改 Pod 即可动态获取命名空间 更好,因为它减轻了构建 Pod 的负担。

那么有没有办法获取 Pod 中的当前命名空间?

尝试文件:

/var/run/secrets/kubernetes.io/serviceaccount/namespace

如果你想使用 env 变量,你不需要在 pod 规范中设置静态命名空间 env 变量,你可以使用 "Downward API" 让 k8s 用当前命名空间动态填充它。参见 https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/#the-downward-api