k8s?clientConfig和rawConfig區(qū)別解析
k8s clientConfig和rawConfig區(qū)別
k8s.io/client-go v0.28.2
nonInteractiveDeferredLoadingClientConfig := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(
&clientcmd.ClientConfigLoadingRules{ExplicitPath: "/root/.kube/config"},
&clientcmd.ConfigOverrides{})
clientConfig, err := nonInteractiveDeferredLoadingClientConfig.ClientConfig()
rawConfig, err := nonInteractiveDeferredLoadingClientConfig.RawConfig()
基于kubeconfig可以創(chuàng)建clientConfig和rawConfig。兩者區(qū)別在于,clientConfig包含了訪問kube-apiserver的地址和認證鑒權(quán)信息,缺少cluster信息;rawConfig是包含kubeconfig所有內(nèi)容的對象。
補充:k8s解析kubeconfig的兩種常用方式
k8s解析kubeconfig的兩種常用方式
k8s v1.19.0
方法1
staging/src/k8s.io/client-go/tools/clientcmd/client_config.goBuildConfigFromFlags函數(shù)根據(jù)本地kubeconfig文件路徑來生成restclient.Config對象。

staging/src/k8s.io/client-go/tools/clientcmd/loader.goLoad方法讀取指定目錄下多個文件內(nèi)容并合并,轉(zhuǎn)換成clientcmdapi.Config對象。

Load函數(shù)基于字節(jié)切片生成clientcmdapi.Config對象。


方法2
staging/src/k8s.io/client-go/tools/clientcmd/client_config.goBuildConfigFromKubeconfigGetter函數(shù)根據(jù)KubeconfigGetter來生成kubeconfig對象。其中,KubeconfigGetter是生成clientcmdapi.Config對象的方法,可以調(diào)用上面的Load函數(shù)來實現(xiàn)。

到此這篇關(guān)于k8s clientConfig和rawConfig區(qū)別解析的文章就介紹到這了,更多相關(guān)k8s clientConfig和rawConfig內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Rainbond內(nèi)置ServiceMesh微服務(wù)架構(gòu)
這篇文章主要為大家介紹了詳解Rainbond內(nèi)置ServiceMesh微服務(wù)架構(gòu),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-04-04
Kubernetes集群中Calico網(wǎng)絡(luò)插件報錯問題分析及解決過程
Kubernetes集群中Calico網(wǎng)絡(luò)插件報錯(如FailedCreatePodSandBox)通常由配置錯誤、RBAC權(quán)限缺失或組件故障導致,解決方法包括重啟Calico組件、驗證配置和權(quán)限,定期監(jiān)控與維護以確保網(wǎng)絡(luò)正常運行2025-10-10

