From 88da4f7809886bd63c2e7e0acd5ef64e599b382d Mon Sep 17 00:00:00 2001 From: zryfish Date: Thu, 16 Jan 2020 14:44:21 +0800 Subject: [PATCH] [release-2.1] Cherry pick from master branch (#1781) * change router underlying resource apiversion --- pkg/models/routers/routers.go | 44 +++++++++++++++++------------------ 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/pkg/models/routers/routers.go b/pkg/models/routers/routers.go index 69e531ae9..602067231 100644 --- a/pkg/models/routers/routers.go +++ b/pkg/models/routers/routers.go @@ -21,6 +21,7 @@ package routers import ( "fmt" "io/ioutil" + v1 "k8s.io/api/apps/v1" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/runtime" "k8s.io/klog" @@ -31,8 +32,7 @@ import ( "kubesphere.io/kubesphere/pkg/informers" corev1 "k8s.io/api/core/v1" - extensionsv1beta1 "k8s.io/api/extensions/v1beta1" - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/scheme" "strings" @@ -41,24 +41,24 @@ import ( ) // choose router node ip by labels, currently select master node -var RouterNodeIPLabelSelector = map[string]string{ +var routerNodeIPLabelSelector = map[string]string{ "node-role.kubernetes.io/master": "", } const ( - SERVICEMESH_ENABLED = "servicemesh.kubesphere.io/enabled" - SIDECAR_INJECT = "sidecar.istio.io/inject" + servicemeshEnabled = "servicemesh.kubesphere.io/enabled" + sidecarInject = "sidecar.istio.io/inject" ) var routerTemplates map[string]runtime.Object // Load yamls func init() { - yamls, err := LoadYamls() + yamls, err := loadYamls() routerTemplates = make(map[string]runtime.Object, 2) if err != nil { - klog.Error(err) + klog.Warning("error happened during loading external yamls", err) return } @@ -74,7 +74,7 @@ func init() { switch obj.(type) { case *corev1.Service: routerTemplates["SERVICE"] = obj - case *extensionsv1beta1.Deployment: + case *v1.Deployment: routerTemplates["DEPLOYMENT"] = obj } } @@ -86,7 +86,7 @@ func init() { func getMasterNodeIp() string { nodeLister := informers.SharedInformerFactory().Core().V1().Nodes().Lister() - selector := labels.SelectorFromSet(RouterNodeIPLabelSelector) + selector := labels.SelectorFromSet(routerNodeIPLabelSelector) masters, err := nodeLister.List(selector) sort.Slice(masters, func(i, j int) bool { @@ -174,13 +174,13 @@ func getRouterService(namespace string) (*corev1.Service, error) { } // Load all resource yamls -func LoadYamls() ([]string, error) { +func loadYamls() ([]string, error) { var yamls []string files, err := ioutil.ReadDir(constants.IngressControllerFolder) if err != nil { - klog.Error(err) + klog.Warning(err) return nil, err } @@ -205,7 +205,7 @@ func LoadYamls() ([]string, error) { func CreateRouter(namespace string, routerType corev1.ServiceType, annotations map[string]string) (*corev1.Service, error) { injectSidecar := false - if enabled, ok := annotations[SERVICEMESH_ENABLED]; ok { + if enabled, ok := annotations[servicemeshEnabled]; ok { if enabled == "true" { injectSidecar = true } @@ -307,7 +307,7 @@ func deleteRouterService(namespace string) (*corev1.Service, error) { // delete controller service serviceName := constants.IngressControllerPrefix + namespace - deleteOptions := meta_v1.DeleteOptions{} + deleteOptions := metav1.DeleteOptions{} err = k8sClient.CoreV1().Services(constants.IngressControllerNamespace).Delete(serviceName, &deleteOptions) if err != nil { @@ -328,13 +328,13 @@ func createOrUpdateRouterWorkload(namespace string, publishService bool, service deployName := constants.IngressControllerPrefix + namespace k8sClient := client.ClientSets().K8s().Kubernetes() - deployment, err := k8sClient.ExtensionsV1beta1().Deployments(constants.IngressControllerNamespace).Get(deployName, meta_v1.GetOptions{}) + deployment, err := k8sClient.AppsV1().Deployments(constants.IngressControllerNamespace).Get(deployName, metav1.GetOptions{}) createDeployment := true if err != nil { if errors.IsNotFound(err) { - deployment = obj.(*extensionsv1beta1.Deployment) + deployment = obj.(*v1.Deployment) deployment.Name = constants.IngressControllerPrefix + namespace @@ -376,9 +376,9 @@ func createOrUpdateRouterWorkload(namespace string, publishService bool, service deployment.Spec.Template.Annotations = make(map[string]string, 0) } if servicemeshEnabled { - deployment.Spec.Template.Annotations[SIDECAR_INJECT] = "true" + deployment.Spec.Template.Annotations[sidecarInject] = "true" } else { - deployment.Spec.Template.Annotations[SIDECAR_INJECT] = "false" + deployment.Spec.Template.Annotations[sidecarInject] = "false" } if publishService { @@ -388,9 +388,9 @@ func createOrUpdateRouterWorkload(namespace string, publishService bool, service } if createDeployment { - deployment, err = k8sClient.ExtensionsV1beta1().Deployments(constants.IngressControllerNamespace).Create(deployment) + deployment, err = k8sClient.AppsV1().Deployments(constants.IngressControllerNamespace).Create(deployment) } else { - deployment, err = k8sClient.ExtensionsV1beta1().Deployments(constants.IngressControllerNamespace).Update(deployment) + deployment, err = k8sClient.AppsV1().Deployments(constants.IngressControllerNamespace).Update(deployment) } if err != nil { @@ -404,10 +404,10 @@ func createOrUpdateRouterWorkload(namespace string, publishService bool, service func deleteRouterWorkload(namespace string) error { k8sClient := client.ClientSets().K8s().Kubernetes() - deleteOptions := meta_v1.DeleteOptions{} + deleteOptions := metav1.DeleteOptions{} // delete controller deployment deploymentName := constants.IngressControllerPrefix + namespace - err := k8sClient.ExtensionsV1beta1().Deployments(constants.IngressControllerNamespace).Delete(deploymentName, &deleteOptions) + err := k8sClient.AppsV1().Deployments(constants.IngressControllerNamespace).Delete(deploymentName, &deleteOptions) if err != nil { klog.Error(err) } @@ -448,7 +448,7 @@ func UpdateRouter(namespace string, routerType corev1.ServiceType, annotations m return router, err } - enableServicemesh := annotations[SERVICEMESH_ENABLED] == "true" + enableServicemesh := annotations[servicemeshEnabled] == "true" err = createOrUpdateRouterWorkload(namespace, routerType == corev1.ServiceTypeLoadBalancer, enableServicemesh) if err != nil {