change kubectl pods' namespace from kubesphere to kubesphere-controls, and ensure delete kubectl-rs when user is deleted
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user