karmada/pkg/karmadactl/cmdinit/utils/kubeclient.go

40 lines
1.1 KiB
Go

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)
}