From 41d3e44a2f8808a0981ab138156618f493dc1a79 Mon Sep 17 00:00:00 2001 From: SataQiu <1527062125@qq.com> Date: Sat, 11 Apr 2020 13:56:53 +0800 Subject: [PATCH] scheduler: remove direct import to pkg/master/ports Signed-off-by: SataQiu <1527062125@qq.com> --- cmd/kube-scheduler/app/options/BUILD | 1 - cmd/kube-scheduler/app/options/options.go | 3 +-- pkg/master/ports/ports.go | 8 -------- pkg/registry/core/rest/BUILD | 1 + pkg/registry/core/rest/storage_core.go | 4 +++- pkg/scheduler/apis/config/types.go | 9 +++++++++ pkg/scheduler/apis/config/v1alpha2/BUILD | 1 - pkg/scheduler/apis/config/v1alpha2/defaults.go | 7 +++---- test/e2e/apps/BUILD | 1 + test/e2e/apps/daemon_restart.go | 3 ++- test/e2e/network/BUILD | 1 + test/e2e/network/firewall.go | 3 ++- 12 files changed, 23 insertions(+), 19 deletions(-) diff --git a/cmd/kube-scheduler/app/options/BUILD b/cmd/kube-scheduler/app/options/BUILD index 4af98d13eae..9d1a5e928dc 100644 --- a/cmd/kube-scheduler/app/options/BUILD +++ b/cmd/kube-scheduler/app/options/BUILD @@ -13,7 +13,6 @@ go_library( deps = [ "//cmd/kube-scheduler/app/config:go_default_library", "//pkg/client/leaderelectionconfig:go_default_library", - "//pkg/master/ports:go_default_library", "//pkg/scheduler:go_default_library", "//pkg/scheduler/algorithmprovider:go_default_library", "//pkg/scheduler/apis/config:go_default_library", diff --git a/cmd/kube-scheduler/app/options/options.go b/cmd/kube-scheduler/app/options/options.go index 46c1821d0f3..f1fbc9574c3 100644 --- a/cmd/kube-scheduler/app/options/options.go +++ b/cmd/kube-scheduler/app/options/options.go @@ -45,7 +45,6 @@ import ( kubeschedulerconfigv1alpha2 "k8s.io/kube-scheduler/config/v1alpha2" schedulerappconfig "k8s.io/kubernetes/cmd/kube-scheduler/app/config" "k8s.io/kubernetes/pkg/client/leaderelectionconfig" - "k8s.io/kubernetes/pkg/master/ports" "k8s.io/kubernetes/pkg/scheduler" kubeschedulerconfig "k8s.io/kubernetes/pkg/scheduler/apis/config" kubeschedulerscheme "k8s.io/kubernetes/pkg/scheduler/apis/config/scheme" @@ -118,7 +117,7 @@ func NewOptions() (*Options, error) { // Set the PairName but leave certificate directory blank to generate in-memory by default o.SecureServing.ServerCert.CertDirectory = "" o.SecureServing.ServerCert.PairName = "kube-scheduler" - o.SecureServing.BindPort = ports.KubeSchedulerPort + o.SecureServing.BindPort = kubeschedulerconfig.DefaultKubeSchedulerPort return o, nil } diff --git a/pkg/master/ports/ports.go b/pkg/master/ports/ports.go index 23faba1d3ec..c76d2a4982c 100644 --- a/pkg/master/ports/ports.go +++ b/pkg/master/ports/ports.go @@ -23,10 +23,6 @@ const ( // KubeletPort is the default port for the kubelet server on each host machine. // May be overridden by a flag at startup. KubeletPort = 10250 - // InsecureSchedulerPort is the default port for the scheduler status server. - // May be overridden by a flag at startup. - // Deprecated: use the secure KubeSchedulerPort instead. - InsecureSchedulerPort = 10251 // InsecureKubeControllerManagerPort is the default port for the controller manager status server. // May be overridden by a flag at startup. // Deprecated: use the secure KubeControllerManagerPort instead. @@ -50,8 +46,4 @@ const ( // CloudControllerManagerPort is the default port for the cloud controller manager server. // This value may be overridden by a flag at startup. CloudControllerManagerPort = 10258 - - // KubeSchedulerPort is the default port for the scheduler status server. - // May be overridden by a flag at startup. - KubeSchedulerPort = 10259 ) diff --git a/pkg/registry/core/rest/BUILD b/pkg/registry/core/rest/BUILD index 44e268ca679..4e5fa811541 100644 --- a/pkg/registry/core/rest/BUILD +++ b/pkg/registry/core/rest/BUILD @@ -48,6 +48,7 @@ go_library( "//pkg/registry/core/service/portallocator:go_default_library", "//pkg/registry/core/service/storage:go_default_library", "//pkg/registry/core/serviceaccount/storage:go_default_library", + "//pkg/scheduler/apis/config:go_default_library", "//pkg/serviceaccount:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/net:go_default_library", diff --git a/pkg/registry/core/rest/storage_core.go b/pkg/registry/core/rest/storage_core.go index 9ece81f5602..2a31e98171d 100644 --- a/pkg/registry/core/rest/storage_core.go +++ b/pkg/registry/core/rest/storage_core.go @@ -64,6 +64,7 @@ import ( "k8s.io/kubernetes/pkg/registry/core/service/portallocator" servicestore "k8s.io/kubernetes/pkg/registry/core/service/storage" serviceaccountstore "k8s.io/kubernetes/pkg/registry/core/serviceaccount/storage" + kubeschedulerconfig "k8s.io/kubernetes/pkg/scheduler/apis/config" "k8s.io/kubernetes/pkg/serviceaccount" ) @@ -338,9 +339,10 @@ type componentStatusStorage struct { } func (s componentStatusStorage) serversToValidate() map[string]*componentstatus.Server { + // this is fragile, which assumes that the default port is being used serversToValidate := map[string]*componentstatus.Server{ "controller-manager": {Addr: "127.0.0.1", Port: ports.InsecureKubeControllerManagerPort, Path: "/healthz"}, - "scheduler": {Addr: "127.0.0.1", Port: ports.InsecureSchedulerPort, Path: "/healthz"}, + "scheduler": {Addr: "127.0.0.1", Port: kubeschedulerconfig.DefaultInsecureSchedulerPort, Path: "/healthz"}, } for ix, machine := range s.storageFactory.Backends() { diff --git a/pkg/scheduler/apis/config/types.go b/pkg/scheduler/apis/config/types.go index a21d16fd2ff..03622137d63 100644 --- a/pkg/scheduler/apis/config/types.go +++ b/pkg/scheduler/apis/config/types.go @@ -38,6 +38,15 @@ const ( // SchedulerDefaultProviderName defines the default provider names SchedulerDefaultProviderName = "DefaultProvider" + + // DefaultInsecureSchedulerPort is the default port for the scheduler status server. + // May be overridden by a flag at startup. + // Deprecated: use the secure KubeSchedulerPort instead. + DefaultInsecureSchedulerPort = 10251 + + // DefaultKubeSchedulerPort is the default port for the scheduler status server. + // May be overridden by a flag at startup. + DefaultKubeSchedulerPort = 10259 ) // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/pkg/scheduler/apis/config/v1alpha2/BUILD b/pkg/scheduler/apis/config/v1alpha2/BUILD index c58b6c35ca6..17ae8846fc6 100644 --- a/pkg/scheduler/apis/config/v1alpha2/BUILD +++ b/pkg/scheduler/apis/config/v1alpha2/BUILD @@ -15,7 +15,6 @@ go_library( visibility = ["//visibility:public"], deps = [ "//pkg/apis/core:go_default_library", - "//pkg/master/ports:go_default_library", "//pkg/scheduler/apis/config:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/conversion:go_default_library", diff --git a/pkg/scheduler/apis/config/v1alpha2/defaults.go b/pkg/scheduler/apis/config/v1alpha2/defaults.go index 894214c57aa..264db34a031 100644 --- a/pkg/scheduler/apis/config/v1alpha2/defaults.go +++ b/pkg/scheduler/apis/config/v1alpha2/defaults.go @@ -28,7 +28,6 @@ import ( // this package shouldn't really depend on other k8s.io/kubernetes code api "k8s.io/kubernetes/pkg/apis/core" - "k8s.io/kubernetes/pkg/master/ports" ) func addDefaultingFuncs(scheme *runtime.Scheme) error { @@ -51,7 +50,7 @@ func SetDefaults_KubeSchedulerConfiguration(obj *v1alpha2.KubeSchedulerConfigura // 2. If there is a value set, attempt to split it. If it's just a port (ie, ":1234"), default to 0.0.0.0 with that port // 3. If splitting the value fails, check if the value is even a valid IP. If so, use that with the default port. // Otherwise use the default bind address - defaultBindAddress := net.JoinHostPort("0.0.0.0", strconv.Itoa(ports.InsecureSchedulerPort)) + defaultBindAddress := net.JoinHostPort("0.0.0.0", strconv.Itoa(config.DefaultInsecureSchedulerPort)) if obj.HealthzBindAddress == nil { obj.HealthzBindAddress = &defaultBindAddress } else { @@ -65,7 +64,7 @@ func SetDefaults_KubeSchedulerConfiguration(obj *v1alpha2.KubeSchedulerConfigura // Something went wrong splitting the host/port, could just be a missing port so check if the // existing value is a valid IP address. If so, use that with the default scheduler port if host := net.ParseIP(*obj.HealthzBindAddress); host != nil { - hostPort := net.JoinHostPort(*obj.HealthzBindAddress, strconv.Itoa(ports.InsecureSchedulerPort)) + hostPort := net.JoinHostPort(*obj.HealthzBindAddress, strconv.Itoa(config.DefaultInsecureSchedulerPort)) obj.HealthzBindAddress = &hostPort } else { // TODO: in v1beta1 we should let this error instead of stomping with a default value @@ -87,7 +86,7 @@ func SetDefaults_KubeSchedulerConfiguration(obj *v1alpha2.KubeSchedulerConfigura // Something went wrong splitting the host/port, could just be a missing port so check if the // existing value is a valid IP address. If so, use that with the default scheduler port if host := net.ParseIP(*obj.MetricsBindAddress); host != nil { - hostPort := net.JoinHostPort(*obj.MetricsBindAddress, strconv.Itoa(ports.InsecureSchedulerPort)) + hostPort := net.JoinHostPort(*obj.MetricsBindAddress, strconv.Itoa(config.DefaultInsecureSchedulerPort)) obj.MetricsBindAddress = &hostPort } else { // TODO: in v1beta1 we should let this error instead of stomping with a default value diff --git a/test/e2e/apps/BUILD b/test/e2e/apps/BUILD index 76d900de255..047325935c2 100644 --- a/test/e2e/apps/BUILD +++ b/test/e2e/apps/BUILD @@ -36,6 +36,7 @@ go_library( "//pkg/controller/replicaset:go_default_library", "//pkg/controller/replication:go_default_library", "//pkg/master/ports:go_default_library", + "//pkg/scheduler/apis/config:go_default_library", "//pkg/scheduler/framework/v1alpha1:go_default_library", "//staging/src/k8s.io/api/apps/v1:go_default_library", "//staging/src/k8s.io/api/autoscaling/v1:go_default_library", diff --git a/test/e2e/apps/daemon_restart.go b/test/e2e/apps/daemon_restart.go index 32e4b109c47..ffcebaef8da 100644 --- a/test/e2e/apps/daemon_restart.go +++ b/test/e2e/apps/daemon_restart.go @@ -33,6 +33,7 @@ import ( clientset "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/master/ports" + kubeschedulerconfig "k8s.io/kubernetes/pkg/scheduler/apis/config" "k8s.io/kubernetes/test/e2e/framework" e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2erc "k8s.io/kubernetes/test/e2e/framework/rc" @@ -293,7 +294,7 @@ var _ = SIGDescribe("DaemonRestart [Disruptive]", func() { // Requires master ssh access. e2eskipper.SkipUnlessProviderIs("gce", "aws") restarter := NewRestartConfig( - framework.GetMasterHost(), "kube-scheduler", ports.InsecureSchedulerPort, restartPollInterval, restartTimeout) + framework.GetMasterHost(), "kube-scheduler", kubeschedulerconfig.DefaultInsecureSchedulerPort, restartPollInterval, restartTimeout) // Create pods while the scheduler is down and make sure the scheduler picks them up by // scaling the rc to the same size. diff --git a/test/e2e/network/BUILD b/test/e2e/network/BUILD index 1dbf6f39c71..a786b61c792 100644 --- a/test/e2e/network/BUILD +++ b/test/e2e/network/BUILD @@ -38,6 +38,7 @@ go_library( deps = [ "//pkg/apis/core:go_default_library", "//pkg/master/ports:go_default_library", + "//pkg/scheduler/apis/config:go_default_library", "//staging/src/k8s.io/api/apps/v1:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/api/discovery/v1beta1:go_default_library", diff --git a/test/e2e/network/firewall.go b/test/e2e/network/firewall.go index 232e5d70063..f4200f5a30c 100644 --- a/test/e2e/network/firewall.go +++ b/test/e2e/network/firewall.go @@ -29,6 +29,7 @@ import ( clientset "k8s.io/client-go/kubernetes" cloudprovider "k8s.io/cloud-provider" "k8s.io/kubernetes/pkg/master/ports" + kubeschedulerconfig "k8s.io/kubernetes/pkg/scheduler/apis/config" "k8s.io/kubernetes/test/e2e/framework" e2enetwork "k8s.io/kubernetes/test/e2e/framework/network" e2enode "k8s.io/kubernetes/test/e2e/framework/node" @@ -218,7 +219,7 @@ var _ = SIGDescribe("Firewall rule", func() { masterAddresses := framework.GetAllMasterAddresses(cs) for _, masterAddress := range masterAddresses { assertNotReachableHTTPTimeout(masterAddress, ports.InsecureKubeControllerManagerPort, firewallTestTCPTimeout) - assertNotReachableHTTPTimeout(masterAddress, ports.InsecureSchedulerPort, firewallTestTCPTimeout) + assertNotReachableHTTPTimeout(masterAddress, kubeschedulerconfig.DefaultInsecureSchedulerPort, firewallTestTCPTimeout) } assertNotReachableHTTPTimeout(nodeAddr, ports.KubeletPort, firewallTestTCPTimeout) assertNotReachableHTTPTimeout(nodeAddr, ports.KubeletReadOnlyPort, firewallTestTCPTimeout)