...

Package options

import "k8s.io/kubernetes/cmd/kube-scheduler/app/options"
Overview
Index

Overview ▾

func LoadConfigFromFile

func LoadConfigFromFile(logger klog.Logger, file string) (*config.KubeSchedulerConfiguration, error)

LoadConfigFromFile loads scheduler config from the specified file path

func LogOrWriteConfig

func LogOrWriteConfig(logger klog.Logger, fileName string, cfg *config.KubeSchedulerConfiguration, completedProfiles []config.KubeSchedulerProfile) error

LogOrWriteConfig logs the completed component config and writes it into the given file name as YAML, if either is enabled

type DeprecatedOptions

DeprecatedOptions contains deprecated options and their flags. TODO remove these fields once the deprecated flags are removed.

type DeprecatedOptions struct {
    componentbaseconfig.DebuggingConfiguration
    componentbaseconfig.ClientConnectionConfiguration
    // PodMaxInUnschedulablePodsDuration is the maximum time a pod can stay in
    // unschedulablePods. If a pod stays in unschedulablePods for longer than this
    // value, the pod will be moved from unschedulablePods to backoffQ or activeQ.
    // If this value is empty, the default value (5min) will be used.
    PodMaxInUnschedulablePodsDuration time.Duration
}

func (*DeprecatedOptions) AddFlags

func (o *DeprecatedOptions) AddFlags(fs *pflag.FlagSet)

AddFlags adds flags for the deprecated options.

type Options

Options has all the params needed to run a Scheduler

type Options struct {
    // The default values.
    ComponentConfig *kubeschedulerconfig.KubeSchedulerConfiguration

    SecureServing  *apiserveroptions.SecureServingOptionsWithLoopback
    Authentication *apiserveroptions.DelegatingAuthenticationOptions
    Authorization  *apiserveroptions.DelegatingAuthorizationOptions
    Metrics        *metrics.Options
    Logs           *logs.Options
    Deprecated     *DeprecatedOptions
    LeaderElection *componentbaseconfig.LeaderElectionConfiguration

    // ConfigFile is the location of the scheduler server's configuration file.
    ConfigFile string

    // WriteConfigTo is the path where the default configuration will be written.
    WriteConfigTo string

    Master string

    // Flags hold the parsed CLI flags.
    Flags *cliflag.NamedFlagSets
}

func NewOptions

func NewOptions() *Options

NewOptions returns default scheduler app options.

func (*Options) ApplyDeprecated

func (o *Options) ApplyDeprecated()

ApplyDeprecated obtains the deprecated CLI args and set them to `o.ComponentConfig` if specified.

func (*Options) ApplyLeaderElectionTo

func (o *Options) ApplyLeaderElectionTo(cfg *kubeschedulerconfig.KubeSchedulerConfiguration)

ApplyLeaderElectionTo obtains the CLI args related with leaderelection, and override the values in `cfg`. Then the `cfg` object is injected into the `options` object.

func (*Options) ApplyTo

func (o *Options) ApplyTo(logger klog.Logger, c *schedulerappconfig.Config) error

ApplyTo applies the scheduler options to the given scheduler app configuration.

func (*Options) Config

func (o *Options) Config(ctx context.Context) (*schedulerappconfig.Config, error)

Config return a scheduler config object

func (*Options) Validate

func (o *Options) Validate() []error

Validate validates all the required options.