如何使用 kubernetes client-go API 獲取部署/服務(wù)的當(dāng)前名稱(chēng)空間?它似乎不在客戶端對(duì)象或配置中。
3 回答

炎炎設(shè)計(jì)
TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
使用
ioutil.ReadFile("/var/run/secrets/kubernetes.io/serviceaccount/namespace")
有效但很丑陋,當(dāng)所需的實(shí)現(xiàn)存在Namespace()
于inClusterClientConfig
.?但是你如何從 開(kāi)始得到那個(gè)對(duì)象?rest.InClusterConfig()
呢?它只能通過(guò)包外部實(shí)例化NewNonInteractiveDeferredLoadingClientConfig
。
我看到kubernetes #63707看起來(lái)相關(guān)但已被放棄。

一只甜甜圈
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
您始終可以為每個(gè)命名空間設(shè)置上下文,然后從 kubeconfig 中讀取您當(dāng)前所在的上下文:
使用以下代碼找出您所在的名稱(chēng)空間:
namespace,?_,?err?:=?kubeconfig.Namespace() ????if?err?!=?nil?{? ???????????????panic(err) ????}
這將返回您所在的名稱(chēng)空間。

揚(yáng)帆大魚(yú)
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
在您的部署配置中添加此環(huán)境變量。
?-?name:?POD_NAMESPACE ??????????valueFrom: ????????????fieldRef: ??????????????fieldPath:?metadata.namespace
這是使用kubernetes downward api
- 3 回答
- 0 關(guān)注
- 261 瀏覽
添加回答
舉報(bào)
0/150
提交
取消