Merge pull request #106 from zryfish/fix_router_service_label
fix router service label
This commit is contained in:
@@ -27,6 +27,8 @@ import (
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/client-go/informers"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
|
||||
"kubesphere.io/kubesphere/pkg/models/metrics"
|
||||
)
|
||||
|
||||
const inUse = "in_use_pods"
|
||||
@@ -264,6 +266,22 @@ func (ctl *PodCtl) ListWithConditions(conditions string, paging *Paging) (int, i
|
||||
|
||||
listWithConditions(ctl.DB, &total, &object, &list, conditions, paging, order)
|
||||
|
||||
ch := make(chan metrics.PodMetrics)
|
||||
|
||||
for index, _ := range list {
|
||||
go metrics.GetSinglePodMetrics(list[index].Namespace, list[index].Name, ch)
|
||||
}
|
||||
|
||||
var resultMetrics = make(map[string]metrics.PodMetrics)
|
||||
for range list {
|
||||
podMetric := <-ch
|
||||
resultMetrics[podMetric.PodName] = podMetric
|
||||
}
|
||||
|
||||
for index, _ := range list {
|
||||
list[index].Metrics = resultMetrics[list[index].Name]
|
||||
}
|
||||
|
||||
return total, list, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ func GetRouter(namespace string) (*coreV1.Service, error) {
|
||||
serviceName := constants.IngressControllerPrefix + namespace
|
||||
|
||||
opts := metaV1.ListOptions{
|
||||
LabelSelector: "app=kubesphere,component=ks-router,tier=backend",
|
||||
LabelSelector: "app=kubesphere,component=ks-router,tier=backend,project=" + namespace,
|
||||
FieldSelector: "metadata.name=" + serviceName,
|
||||
}
|
||||
|
||||
@@ -129,6 +129,9 @@ func CreateRouter(namespace string, routerType coreV1.ServiceType, annotations m
|
||||
service.Spec.Type = routerType
|
||||
service.Name = constants.IngressControllerPrefix + namespace
|
||||
|
||||
// Add project selector
|
||||
service.Spec.Selector["project"] = namespace
|
||||
|
||||
service, err := k8sClient.CoreV1().Services(constants.IngressControllerNamespace).Create(service)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
@@ -140,6 +143,10 @@ func CreateRouter(namespace string, routerType coreV1.ServiceType, annotations m
|
||||
case *extensionsV1beta1.Deployment:
|
||||
deployment := obj.(*extensionsV1beta1.Deployment)
|
||||
deployment.Name = constants.IngressControllerPrefix + namespace
|
||||
|
||||
// Add project label
|
||||
deployment.Labels["project"] = namespace
|
||||
|
||||
deployment.Spec.Template.Spec.Containers[0].Args = append(deployment.Spec.Template.Spec.Containers[0].Args, "--watch-namespace="+namespace)
|
||||
glog.Info(deployment.Spec.Template.Spec.Containers[0].Args)
|
||||
deployment, err := k8sClient.ExtensionsV1beta1().Deployments(constants.IngressControllerNamespace).Create(deployment)
|
||||
@@ -171,7 +178,7 @@ func DeleteRouter(namespace string) (*coreV1.Service, error) {
|
||||
deleteOptions := metaV1.DeleteOptions{}
|
||||
|
||||
listOptions := metaV1.ListOptions{
|
||||
LabelSelector: "app=kubesphere,component=kubesphere-router-gateway",
|
||||
LabelSelector: "app=kubesphere,component=ks-router,tier=backend,project=" + namespace,
|
||||
FieldSelector: "metadata.name=" + serviceName}
|
||||
|
||||
serviceList, err := k8sClient.CoreV1().Services(constants.IngressControllerNamespace).List(listOptions)
|
||||
|
||||
Reference in New Issue
Block a user