fix nodeport router

This commit is contained in:
Jeff
2019-04-23 19:41:18 +08:00
committed by zryfish
parent dd963c0be4
commit addf11c38b
3 changed files with 26 additions and 14 deletions

View File

@@ -144,9 +144,8 @@ func parseParameter(router Router) (routerType v1.ServiceType, annotationMap map
routerType = v1.ServiceTypeNodePort routerType = v1.ServiceTypeNodePort
if strings.Compare(strings.ToLower(router.RouterType), "loadbalancer") == 0 { if strings.Compare(strings.ToLower(router.RouterType), "loadbalancer") == 0 {
return v1.ServiceTypeLoadBalancer, router.Annotations, nil routerType = v1.ServiceTypeLoadBalancer
} else {
return v1.ServiceTypeNodePort, make(map[string]string, 0), nil
} }
return routerType, router.Annotations, nil
} }

View File

@@ -23,6 +23,8 @@ const (
KubeSystemNamespace = "kube-system" KubeSystemNamespace = "kube-system"
OpenPitrixNamespace = "openpitrix-system" OpenPitrixNamespace = "openpitrix-system"
IstioNamespace = "istio-system" IstioNamespace = "istio-system"
KubeSphereMonitoringNamespace = "kubesphere-monitoring-system"
KubeSphereLoggingNamespace = "kubesphere-logging-system"
KubeSphereNamespace = "kubesphere-system" KubeSphereNamespace = "kubesphere-system"
KubeSphereControlNamespace = "kubesphere-controls-system" KubeSphereControlNamespace = "kubesphere-controls-system"
IngressControllerNamespace = KubeSphereControlNamespace IngressControllerNamespace = KubeSphereControlNamespace
@@ -47,5 +49,5 @@ const (
var ( var (
WorkSpaceRoles = []string{WorkspaceAdmin, WorkspaceRegular, WorkspaceViewer} WorkSpaceRoles = []string{WorkspaceAdmin, WorkspaceRegular, WorkspaceViewer}
SystemNamespaces = []string{KubeSphereNamespace, OpenPitrixNamespace, KubeSystemNamespace} SystemNamespaces = []string{KubeSphereNamespace, KubeSphereLoggingNamespace, KubeSphereMonitoringNamespace, OpenPitrixNamespace, KubeSystemNamespace, IstioNamespace}
) )

View File

@@ -18,6 +18,7 @@
package components package components
import ( import (
"fmt"
meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"kubesphere.io/kubesphere/pkg/models" "kubesphere.io/kubesphere/pkg/models"
"kubesphere.io/kubesphere/pkg/simple/client/k8s" "kubesphere.io/kubesphere/pkg/simple/client/k8s"
@@ -49,6 +50,10 @@ func GetComponentStatus(name string) (interface{}, error) {
return nil, err return nil, err
} }
if len(service.Spec.Selector) == 0 {
return nil, fmt.Errorf("component %s has no selector", name)
}
podLister := informers.SharedInformerFactory().Core().V1().Pods().Lister() podLister := informers.SharedInformerFactory().Core().V1().Pods().Lister()
pods, err := podLister.Pods(service.Namespace).List(labels.SelectorFromValidatedSet(service.Spec.Selector)) pods, err := podLister.Pods(service.Namespace).List(labels.SelectorFromValidatedSet(service.Spec.Selector))
@@ -148,6 +153,12 @@ func GetAllComponentsStatus() (map[string]interface{}, error) {
} }
for _, service := range services { for _, service := range services {
// skip services without a selector
if len(service.Spec.Selector) == 0 {
continue
}
component := models.Component{ component := models.Component{
Name: service.Name, Name: service.Name,
Namespace: service.Namespace, Namespace: service.Namespace,