github.com/jingruilea/kubeedge@v1.2.0-beta.0.0.20200410162146-4bb8902b3879/cloud/pkg/devicecontroller/utils/kubeclient.go (about) 1 package utils 2 3 import ( 4 "k8s.io/client-go/kubernetes" 5 "k8s.io/client-go/rest" 6 "k8s.io/client-go/tools/clientcmd" 7 "k8s.io/klog" 8 9 "github.com/kubeedge/kubeedge/cloud/pkg/devicecontroller/config" 10 ) 11 12 // KubeClient from config 13 func KubeClient() (*kubernetes.Clientset, error) { 14 kubeConfig, err := KubeConfig() 15 if err != nil { 16 klog.Warningf("Get kube config failed with error: %s", err) 17 return nil, err 18 } 19 return kubernetes.NewForConfig(kubeConfig) 20 } 21 22 // KubeConfig from flags 23 func KubeConfig() (conf *rest.Config, err error) { 24 kubeConfig, err := clientcmd.BuildConfigFromFlags(config.Config.KubeAPIConfig.Master, config.Config.KubeAPIConfig.KubeConfig) 25 if err != nil { 26 return nil, err 27 } 28 kubeConfig.QPS = float32(config.Config.KubeAPIConfig.QPS) 29 kubeConfig.Burst = int(config.Config.KubeAPIConfig.Burst) 30 kubeConfig.ContentType = config.Config.KubeAPIConfig.ContentType 31 32 return kubeConfig, err 33 }