猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
如何获取集群内 go Kubernetes 客户端的当前命名空间
如何使用 kubernetes client-go API 获取部署/服务的当前名称空间?它似乎不在客户端对象或配置中。
紫衣仙女
浏览 212
回答 3
3回答
炎炎设计
使用ioutil.ReadFile("/var/run/secrets/kubernetes.io/serviceaccount/namespace")有效但很丑陋,当所需的实现存在Namespace()于inClusterClientConfig. 但是你如何从 开始得到那个对象 rest.InClusterConfig()呢?它只能通过包外部实例化NewNonInteractiveDeferredLoadingClientConfig。我看到kubernetes #63707看起来相关但已被放弃。
0
0
0
一只甜甜圈
您始终可以为每个命名空间设置上下文,然后从 kubeconfig 中读取您当前所在的上下文:使用以下代码找出您所在的名称空间:namespace, _, err := kubeconfig.Namespace() if err != nil { panic(err) }这将返回您所在的名称空间。
0
0
0
扬帆大鱼
在您的部署配置中添加此环境变量。 - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace这是使用kubernetes downward api
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Go
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续