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的地址和認證鑒權信息,缺少cluster信息;rawConfig是包含kubeconfig所有內容的對象。
補充:k8s解析kubeconfig的兩種常用方式
k8s解析kubeconfig的兩種常用方式
k8s v1.19.0
方法1
staging/src/k8s.io/client-go/tools/clientcmd/client_config.goBuildConfigFromFlags函數根據本地kubeconfig文件路徑來生成restclient.Config對象。

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

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


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

到此這篇關于k8s clientConfig和rawConfig區(qū)別解析的文章就介紹到這了,更多相關k8s clientConfig和rawConfig內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Rainbond部署組件Statefulset的使用官方文檔
這篇文章主要為大家介紹了官方文檔Rainbond部署組件Statefulset的使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-04-04

