k8s 基于kubeconfig生成clientcmd.ClientConfig对象以及clientConfig和rawConfig区别
k8s.io/client-go v0.28.2
创建clientcmd.ClientConfig对象
"k8s.io/client-go/tools/clientcmd"
方法1:NewNonInteractiveDeferredLoadingClientConfig方法
nonInteractiveDeferredLoadingClientConfig := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(
&clientcmd.ClientConfigLoadingRules{ExplicitPath: "/root/.kube/config"},
&clientcmd.ConfigOverrides{})
clientConfig, err := nonInteractiveDeferredLoadingClientConfig.ClientConfig()
rawConfig, err := nonInteractiveDeferredLoadingClientConfig.RawConfig()
方法2:NewClientConfigFromBytes方法
clientConfig, err := clientcmd.NewClientConfigFromBytes(bytes.NewBufferString(kubeConfigStr).Bytes)
clientConfig和rawConfig区别

基于kubeconfig可以创建clientConfig和rawConfig。两者区别在于,clientConfig包含了访问kube-apiserver的地址和认证鉴权信息,缺少cluster信息;rawConfig是包含kubeconfig所有内容的对象。
浙公网安备 33010602011771号