package utils import ( "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" aggregator "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset" ) // RestConfig Kubernetes kubeconfig func RestConfig(kubeconfigPath string) (*rest.Config, error) { config, err := clientcmd.BuildConfigFromFlags("", kubeconfigPath) if err != nil { return nil, err } config.QPS = float32(5.000000) config.Burst = 10 config.ContentType = "application/json" config.AcceptContentTypes = "application/json" config.UserAgent = rest.DefaultKubernetesUserAgent() return config, err } // NewClientSet Kubernetes ClientSet func NewClientSet(c *rest.Config) (*kubernetes.Clientset, error) { return kubernetes.NewForConfig(c) } // NewCRDsClient clientset ClientSet func NewCRDsClient(c *rest.Config) (*clientset.Clientset, error) { return clientset.NewForConfig(c) } // NewAPIRegistrationClient apiregistration ClientSet func NewAPIRegistrationClient(c *rest.Config) (*aggregator.Clientset, error) { return aggregator.NewForConfig(c) }