如何使用 kubernetes client-go API 獲取部署/服務(wù)的當(dāng)前名稱空間?它似乎不在客戶端對象或配置中。
3 回答
炎炎設(shè)計
TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個贊
使用
ioutil.ReadFile("/var/run/secrets/kubernetes.io/serviceaccount/namespace")有效但很丑陋,當(dāng)所需的實(shí)現(xiàn)存在Namespace()于inClusterClientConfig.?但是你如何從 開始得到那個對象?rest.InClusterConfig()呢?它只能通過包外部實(shí)例化NewNonInteractiveDeferredLoadingClientConfig。
我看到kubernetes #63707看起來相關(guān)但已被放棄。
一只甜甜圈
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個贊
您始終可以為每個命名空間設(shè)置上下文,然后從 kubeconfig 中讀取您當(dāng)前所在的上下文:
使用以下代碼找出您所在的名稱空間:
namespace,?_,?err?:=?kubeconfig.Namespace()
????if?err?!=?nil?{?
???????????????panic(err)
????}這將返回您所在的名稱空間。
揚(yáng)帆大魚
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個贊
在您的部署配置中添加此環(huán)境變量。
?-?name:?POD_NAMESPACE ??????????valueFrom: ????????????fieldRef: ??????????????fieldPath:?metadata.namespace
這是使用kubernetes downward api
- 3 回答
- 0 關(guān)注
- 279 瀏覽
添加回答
舉報
0/150
提交
取消
