【发布时间】:2017-12-11 02:50:17
【问题描述】:
我的服务 X 正在使用命名空间 N 的 pod P 中运行。我如何使用 Kubernetes Go 客户端 API 从服务 X 中找出命名空间信息?
【问题讨论】:
标签: kubernetes kubernetes-go-client
我的服务 X 正在使用命名空间 N 的 pod P 中运行。我如何使用 Kubernetes Go 客户端 API 从服务 X 中找出命名空间信息?
【问题讨论】:
标签: kubernetes kubernetes-go-client
我不确定go client API 是什么意思。 Pod 的命名空间在 /var/run/secrets/kubernetes.io/serviceaccount/namespace,所以这个“服务 X”只需要读取这个文件。
或者,您也可以使用Downward API。
【讨论】:
我想我可以使用环境变量传递 pod、命名空间等,同时使用 go-client 创建一个新的 pod。方法是在 PodSpec 中指定环境变量 key/val 对,如下所示:
Env: []v1.EnvVar{
{Name: "POD_NAME", Value: podname},
{Name: "POD_NAMESPACE", Value: nsname},
},
然后在一个 pod 中,我可以读取这个环境。使用 os 包的变量。
【讨论】: