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所有内容的对象。

posted on 2025-03-10 08:37  王景迁  阅读(30)  评论(0)    收藏  举报

导航