Change:
// Config return a scheduler config object func (o *Options) Config() (*schedulerappconfig.Config, error) { <ins> c := &schedulerappconfig.Config{} if err := o.ApplyTo(c); err != nil { return nil, err } </ins> // prepare kube clients. <del> client, leaderElectionClient, eventClient, err := createClients(o.ComponentConfig.ClientConnection, o.Master) </del> <ins> client, leaderElectionClient, eventClient, err := createClients(c.ComponentConfig.ClientConnection, o.Master) </ins> if err != nil { return nil, err } // Prepare event clients. eventBroadcaster := record.NewBroadcaster() <del> recorder := eventBroadcaster.NewRecorder(legacyscheme.Scheme, corev1.EventSource{Component: o.ComponentConfig.SchedulerName}) </del> <ins> recorder := eventBroadcaster.NewRecorder(legacyscheme.Scheme, corev1.EventSource{Component: c.ComponentConfig.SchedulerName}) </ins> // Set up leader election if enabled. var leaderElectionConfig *leaderelection.LeaderElectionConfig <del> if o.ComponentConfig.LeaderElection.LeaderElect { leaderElectionConfig, err = makeLeaderElectionConfig(o.ComponentConfig.LeaderElection, leaderElectionClient, recorder) </del> <ins> if c.ComponentConfig.LeaderElection.LeaderElect { leaderElectionConfig, err = makeLeaderElectionConfig(c.ComponentConfig.LeaderElection, leaderElectionClient, recorder) </ins> if err != nil { return nil, err } } <del> c := &schedulerappconfig.Config{ Client:          client, InformerFactory: informers.NewSharedInformerFactory(client, 0), PodInformer:     factory.NewPodInformer(client, 0), EventClient:     eventClient, Recorder:        recorder, Broadcaster:     eventBroadcaster, LeaderElection:  leaderElectionConfig, } if err := o.ApplyTo(c); err != nil { return nil, err } </del> <ins> c.Client = client c.InformerFactory = informers.NewSharedInformerFactory(client, 0) c.PodInformer = factory.NewPodInformer(client, 0) c.EventClient = eventClient c.Recorder = recorder c.Broadcaster = eventBroadcaster c.LeaderElection = leaderElectionConfig </ins> return c, nil }

Discussion:
/kind bug /sig scheduling What happened: kube-scheduler that is pointed to a componentconfig file having ignores that it should use this kubeconfig file. Instead, it uses the in-cluster config (as is neither provided). What you expected to happen: The kube-scheduler should respect the kubeconfig provided in the . How to reproduce it (as minimally and precisely as possible): Starting image with whereby the content of looks like this: makes the scheduler logging The exact same configuration as above works with branch. Seems like has introduced the behaviour. The kube clients are created but the componentconfig file is loaded . /cc Environment: Kubernetes version (use ): 1.11.0-rc.2
/milestone v1.11 for triage
Could you please take a look at this? It seems related to the changes you made recently.
/assign
/assign /priority critical-urgent bumping priority since this would be a 1.11 regression
[MILESTONENOTIFIER] Milestone Issue Needs Approval Action required: This issue must have the label applied by a SIG maintainer. <details<summaryIssue Labels</summary- : Issue will be escalated to these SIGs if needed. : Never automatically move issue out of a release milestone; continually escalate to contributor and SIG through all available channels. : Fixes a bug discovered during the current release. </details<details<summaryHelp</summary<ul<li<a href=""Additional instructions</a</li<li<a href=""Commands for setting labels</a</li</ul</details