diff --git a/pkg/app/app.go b/pkg/app/app.go index aebdb0037..6619692f3 100644 --- a/pkg/app/app.go +++ b/pkg/app/app.go @@ -66,11 +66,11 @@ func preCheck() error { return err } for _, ns := range nsList.Items { - if ns.Name == constants.NameSpace { + if ns.Name == constants.KubeSphereControlNameSpace { return nil } } - namespace := v1.Namespace{ObjectMeta: meta_v1.ObjectMeta{Name: constants.NameSpace}} + namespace := v1.Namespace{ObjectMeta: meta_v1.ObjectMeta{Name: constants.KubeSphereControlNameSpace}} _, err = k8sClient.CoreV1().Namespaces().Create(&namespace) return err } diff --git a/pkg/constants/common.go b/pkg/constants/common.go index 95ea55193..bc1a8f519 100644 --- a/pkg/constants/common.go +++ b/pkg/constants/common.go @@ -26,9 +26,9 @@ type PageableResponse struct { } const ( - APIVERSION = "v1alpha1" - KIND = "kubesphere" - NameSpace = "kubesphere" + APIVERSION = "v1alpha1" + KIND = "kubesphere" + KubeSphereControlNameSpace = "kubesphere-controls-system" DataHome = "/etc/kubesphere" IngressControllerFolder = DataHome + "/ingress-controller" diff --git a/pkg/models/controllers/namespaces.go b/pkg/models/controllers/namespaces.go index 562a25f12..ca62a4d73 100644 --- a/pkg/models/controllers/namespaces.go +++ b/pkg/models/controllers/namespaces.go @@ -34,6 +34,7 @@ import ( "k8s.io/client-go/tools/cache" "kubesphere.io/kubesphere/pkg/client" + "kubesphere.io/kubesphere/pkg/constants" "kubesphere.io/kubesphere/pkg/options" ) @@ -42,7 +43,7 @@ const ( admin = "admin" editor = "editor" viewer = "viewer" - kubectlNamespace = "kubesphere" + kubectlNamespace = constants.KubeSphereControlNameSpace kubectlConfigKey = "config" openpitrix_runtime = "openpitrix_runtime" ) diff --git a/pkg/models/kubeconfig.go b/pkg/models/kubeconfig.go index 81fff70ff..43bc464e0 100644 --- a/pkg/models/kubeconfig.go +++ b/pkg/models/kubeconfig.go @@ -35,6 +35,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "kubesphere.io/kubesphere/pkg/client" + "kubesphere.io/kubesphere/pkg/constants" "kubesphere.io/kubesphere/pkg/options" ) @@ -42,7 +43,6 @@ const ( caPath = "/etc/kubernetes/pki/ca.crt" keyPath = "/etc/kubernetes/pki/ca.key" clusterName = "kubernetes" - kubectlNamespace = "kubesphere" kubectlConfigKey = "config" ) @@ -246,7 +246,7 @@ func CreateKubeConfig(user string) error { data := map[string]string{"config": string(config)} var configmap = v1.ConfigMap{TypeMeta: metav1.TypeMeta{Kind: "Configmap", APIVersion: "v1"}, ObjectMeta: metav1.ObjectMeta{Name: user}, Data: data} - _, err = k8sClient.CoreV1().ConfigMaps(kubectlNamespace).Create(&configmap) + _, err = k8sClient.CoreV1().ConfigMaps(constants.KubeSphereControlNameSpace).Create(&configmap) if err != nil { glog.Errorln(err) return err @@ -257,7 +257,7 @@ func CreateKubeConfig(user string) error { func GetKubeConfig(user string) (string, error) { k8sClient := client.NewK8sClient() - configmap, err := k8sClient.CoreV1().ConfigMaps(kubectlNamespace).Get(user, metav1.GetOptions{}) + configmap, err := k8sClient.CoreV1().ConfigMaps(constants.KubeSphereControlNameSpace).Get(user, metav1.GetOptions{}) if err != nil { glog.Errorln(err) return "", err @@ -267,7 +267,7 @@ func GetKubeConfig(user string) (string, error) { func DelKubeConfig(user string) error { k8sClient := client.NewK8sClient() - err := k8sClient.CoreV1().ConfigMaps(kubectlNamespace).Delete(user, &metav1.DeleteOptions{}) + err := k8sClient.CoreV1().ConfigMaps(constants.KubeSphereControlNameSpace).Delete(user, &metav1.DeleteOptions{}) if err != nil { glog.Errorln(err) return err diff --git a/pkg/models/kubectl.go b/pkg/models/kubectl.go index a3bdb5c22..1ee744455 100644 --- a/pkg/models/kubectl.go +++ b/pkg/models/kubectl.go @@ -31,7 +31,7 @@ import ( "kubesphere.io/kubesphere/pkg/options" ) -const namespace = constants.NameSpace +const namespace = constants.KubeSphereControlNameSpace type kubectlPodInfo struct { Namespace string `json:"namespace"` @@ -130,6 +130,14 @@ func DelKubectlPod(user string) error { return err } + var replicas int32 + replicas = 0 + deploy.Spec.Replicas = &replicas + _, err = k8sClient.AppsV1beta2().Deployments(namespace).Update(deploy) + if err != nil { + return err + } + err = k8sClient.AppsV1beta2().Deployments(namespace).Delete(user, &meta_v1.DeleteOptions{}) if err != nil { return err @@ -143,6 +151,15 @@ func DelKubectlPod(user string) error { } for _, rs := range rsList.Items { + var replicas int32 + replicas = 0 + rs.Spec.Replicas = &replicas + _, err = k8sClient.AppsV1beta2().ReplicaSets(namespace).Update(&rs) + if err != nil { + glog.Error(err) + return err + } + err = k8sClient.AppsV1beta2().ReplicaSets(namespace).Delete(rs.Name, &meta_v1.DeleteOptions{}) if err != nil { glog.Error(err)