skip informer creating when corresponding crd not exists

This commit is contained in:
Jeff
2019-09-29 11:55:56 +08:00
committed by zryfish
parent 7ad77c32fc
commit d2b1bf4ba0
2 changed files with 55 additions and 15 deletions

View File

@@ -2,6 +2,7 @@ package k8s
import (
s2i "github.com/kubesphere/s2ioperator/pkg/client/clientset/versioned"
"k8s.io/client-go/discovery"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
@@ -12,6 +13,9 @@ type KubernetesClient struct {
// kubernetes client interface
k8s *kubernetes.Clientset
// discovery client
discoveryClient *discovery.DiscoveryClient
// generated clientset
ks *kubesphere.Clientset
@@ -33,11 +37,12 @@ func NewKubernetesClientOrDie(options *KubernetesOptions) *KubernetesClient {
config.Burst = options.Burst
k := &KubernetesClient{
k8s: kubernetes.NewForConfigOrDie(config),
ks: kubesphere.NewForConfigOrDie(config),
s2i: s2i.NewForConfigOrDie(config),
master: config.Host,
config: config,
k8s: kubernetes.NewForConfigOrDie(config),
discoveryClient: discovery.NewDiscoveryClientForConfigOrDie(config),
ks: kubesphere.NewForConfigOrDie(config),
s2i: s2i.NewForConfigOrDie(config),
master: config.Host,
config: config,
}
if options.Master != "" {
@@ -83,6 +88,10 @@ func (k *KubernetesClient) Kubernetes() kubernetes.Interface {
return k.k8s
}
func (k *KubernetesClient) Discovery() discovery.DiscoveryInterface {
return k.discoveryClient
}
func (k *KubernetesClient) KubeSphere() kubesphere.Interface {
return k.ks
}