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

@@ -20,16 +20,18 @@ package constants
const ( const (
APIVersion = "v1alpha1" APIVersion = "v1alpha1"
KubeSystemNamespace = "kube-system" KubeSystemNamespace = "kube-system"
OpenPitrixNamespace = "openpitrix-system" OpenPitrixNamespace = "openpitrix-system"
IstioNamespace = "istio-system" IstioNamespace = "istio-system"
KubeSphereNamespace = "kubesphere-system" KubeSphereMonitoringNamespace = "kubesphere-monitoring-system"
KubeSphereControlNamespace = "kubesphere-controls-system" KubeSphereLoggingNamespace = "kubesphere-logging-system"
IngressControllerNamespace = KubeSphereControlNamespace KubeSphereNamespace = "kubesphere-system"
AdminUserName = "admin" KubeSphereControlNamespace = "kubesphere-controls-system"
DataHome = "/etc/kubesphere" IngressControllerNamespace = KubeSphereControlNamespace
IngressControllerFolder = DataHome + "/ingress-controller" AdminUserName = "admin"
IngressControllerPrefix = "kubesphere-router-" DataHome = "/etc/kubesphere"
IngressControllerFolder = DataHome + "/ingress-controller"
IngressControllerPrefix = "kubesphere-router-"
WorkspaceLabelKey = "kubesphere.io/workspace" WorkspaceLabelKey = "kubesphere.io/workspace"
DisplayNameAnnotationKey = "displayName" DisplayNameAnnotationKey = "displayName"
@@ -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,