【发布时间】:2018-02-13 05:26:09
【问题描述】:
我能想到的一种方法是在定义 Pod 时设置一个环境,其值为 Pod 的命名空间。
动态获取命名空间而不需要更改 Pod 将是
更好,因为它减轻了构建 Pod 的负担。
那么有没有办法在 Pod 中获取当前命名空间?
【问题讨论】:
标签: kubernetes kubernetes-go-client
我能想到的一种方法是在定义 Pod 时设置一个环境,其值为 Pod 的命名空间。
动态获取命名空间而不需要更改 Pod 将是
更好,因为它减轻了构建 Pod 的负担。
那么有没有办法在 Pod 中获取当前命名空间?
【问题讨论】:
标签: kubernetes kubernetes-go-client
试试文件:
/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
【讨论】:
/var/run/secrets/kubernetes.io/serviceaccount/namespace 作为接受的答案