diff --git a/pkg/karmadactl/cmdinit/karmada/deploy.go b/pkg/karmadactl/cmdinit/karmada/deploy.go index 614b53223c8a..5b573f227ee6 100644 --- a/pkg/karmadactl/cmdinit/karmada/deploy.go +++ b/pkg/karmadactl/cmdinit/karmada/deploy.go @@ -29,7 +29,7 @@ import ( const namespace = "karmada-system" // InitKarmadaResources Initialize karmada resource -func InitKarmadaResources(dir, caBase64 string) error { +func InitKarmadaResources(dir, caBase64 string, systemNamespace string) error { restConfig, err := utils.RestConfig(filepath.Join(dir, options.KarmadaKubeConfigName)) if err != nil { return err @@ -80,18 +80,18 @@ func InitKarmadaResources(dir, caBase64 string) error { // create webhook configuration // https://github.com/karmada-io/karmada/blob/master/artifacts/deploy/webhook-configuration.yaml - klog.Info("Crate MutatingWebhookConfiguration mutating-config.") - if err = createMutatingWebhookConfiguration(clientSet, mutatingConfig(caBase64)); err != nil { + klog.Info("Create MutatingWebhookConfiguration mutating-config.") + if err = createMutatingWebhookConfiguration(clientSet, mutatingConfig(caBase64, systemNamespace)); err != nil { klog.Exitln(err) } - klog.Info("Crate ValidatingWebhookConfiguration validating-config.") + klog.Info("Create ValidatingWebhookConfiguration validating-config.") - if err = createValidatingWebhookConfiguration(clientSet, validatingConfig(caBase64)); err != nil { + if err = createValidatingWebhookConfiguration(clientSet, validatingConfig(caBase64, systemNamespace)); err != nil { klog.Exitln(err) } // karmada-aggregated-apiserver - if err = initAPIService(clientSet, restConfig); err != nil { + if err = initAPIService(clientSet, restConfig, systemNamespace); err != nil { klog.Exitln(err) } @@ -163,7 +163,7 @@ func getName(str, start, end string) string { return str } -func initAPIService(clientSet *kubernetes.Clientset, restConfig *rest.Config) error { +func initAPIService(clientSet *kubernetes.Clientset, restConfig *rest.Config, externalNamespace string) error { // https://github.com/karmada-io/karmada/blob/master/artifacts/deploy/apiservice.yaml aaService := &corev1.Service{ TypeMeta: metav1.TypeMeta{ @@ -176,7 +176,7 @@ func initAPIService(clientSet *kubernetes.Clientset, restConfig *rest.Config) er }, Spec: corev1.ServiceSpec{ Type: corev1.ServiceTypeExternalName, - ExternalName: fmt.Sprintf("karmada-aggregated-apiserver.%s.svc.cluster.local", namespace), + ExternalName: fmt.Sprintf("karmada-aggregated-apiserver.%s.svc", externalNamespace), }, } if _, err := clientSet.CoreV1().Services(namespace).Create(context.TODO(), aaService, metav1.CreateOptions{}); err != nil { diff --git a/pkg/karmadactl/cmdinit/karmada/webhook_configuration.go b/pkg/karmadactl/cmdinit/karmada/webhook_configuration.go index 339e22516b30..a4b19819a6e7 100644 --- a/pkg/karmadactl/cmdinit/karmada/webhook_configuration.go +++ b/pkg/karmadactl/cmdinit/karmada/webhook_configuration.go @@ -13,7 +13,7 @@ import ( "github.com/karmada-io/karmada/pkg/karmadactl/cmdinit/utils" ) -func mutatingConfig(caBundle string) string { +func mutatingConfig(caBundle string, systemNamespace string) string { return fmt.Sprintf(`apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration metadata: @@ -76,10 +76,10 @@ webhooks: failurePolicy: Fail sideEffects: None admissionReviewVersions: ["v1"] - timeoutSeconds: 3`, namespace, caBundle, namespace, caBundle, namespace, caBundle, namespace, caBundle) + timeoutSeconds: 3`, systemNamespace, caBundle, systemNamespace, caBundle, systemNamespace, caBundle, systemNamespace, caBundle) } -func validatingConfig(caBundle string) string { +func validatingConfig(caBundle string, systemNamespace string) string { return fmt.Sprintf(`apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration metadata: @@ -156,7 +156,7 @@ webhooks: failurePolicy: Fail sideEffects: None admissionReviewVersions: ["v1"] - timeoutSeconds: 3`, namespace, caBundle, namespace, caBundle, namespace, caBundle, namespace, caBundle, namespace, caBundle) + timeoutSeconds: 3`, systemNamespace, caBundle, systemNamespace, caBundle, systemNamespace, caBundle, systemNamespace, caBundle, systemNamespace, caBundle) } func createValidatingWebhookConfiguration(c *kubernetes.Clientset, staticYaml string) error { diff --git a/pkg/karmadactl/cmdinit/kubernetes/deploy.go b/pkg/karmadactl/cmdinit/kubernetes/deploy.go index 3e11aa486635..fabb3f58a14a 100644 --- a/pkg/karmadactl/cmdinit/kubernetes/deploy.go +++ b/pkg/karmadactl/cmdinit/kubernetes/deploy.go @@ -417,7 +417,7 @@ func (i *CommandInitOption) RunInit(_ io.Writer, parentCommand string) error { // Create CRDs in karmada caBase64 := base64.StdEncoding.EncodeToString(i.CertAndKeyFileData[fmt.Sprintf("%s.crt", options.CaCertAndKeyName)]) - if err := karmada.InitKarmadaResources(i.KarmadaDataPath, caBase64); err != nil { + if err := karmada.InitKarmadaResources(i.KarmadaDataPath, caBase64, i.Namespace); err != nil { return err } diff --git a/pkg/karmadactl/cmdinit/kubernetes/deployments.go b/pkg/karmadactl/cmdinit/kubernetes/deployments.go index 97c4698cee09..fd339b85b7ea 100644 --- a/pkg/karmadactl/cmdinit/kubernetes/deployments.go +++ b/pkg/karmadactl/cmdinit/kubernetes/deployments.go @@ -11,6 +11,7 @@ import ( "k8s.io/apimachinery/pkg/util/intstr" "github.com/karmada-io/karmada/pkg/karmadactl/cmdinit/options" + "github.com/karmada-io/karmada/pkg/util" ) const ( @@ -268,7 +269,7 @@ func (i *CommandInitOption) makeKarmadaKubeControllerManagerDeployment() *appsv1 "--controllers=namespace,garbagecollector,serviceaccount-token", "--kubeconfig=/etc/kubeconfig", "--leader-elect=true", - fmt.Sprintf("--leader-elect-resource-namespace=%s", i.Namespace), + fmt.Sprintf("--leader-elect-resource-namespace=%s", util.NamespaceKarmadaSystem), "--node-cidr-mask-size=24", "--port=0", fmt.Sprintf("--root-ca-file=%s/%s.crt", karmadaCertsVolumeMountPath, options.CaCertAndKeyName), @@ -389,7 +390,7 @@ func (i *CommandInitOption) makeKarmadaSchedulerDeployment() *appsv1.Deployment "--feature-gates=Failover=true", "--enable-scheduler-estimator=true", "--leader-elect=true", - fmt.Sprintf("--leader-elect-resource-namespace=%s", i.Namespace), + fmt.Sprintf("--leader-elect-resource-namespace=%s", util.NamespaceKarmadaSystem), "--v=4", }, VolumeMounts: []corev1.VolumeMount{