• Dan Mace's avatar
    Refactor scheduler config API · efb2bb71
    Dan Mace authored
    Refactor the kube-scheduler configuration API, command setup, and server
    setup according to the guidelines established in #32215 and using the
    kube-proxy refactor (#34727) as a model of a well factored component
    adhering to said guidelines.
    
    * Config API: clarify meaning and use of algorithm source by replacing
    modality derived from bools and string emptiness checks with an explicit
    AlgorithmSource type hierarchy.
    * Config API: consolidate client connection config with common structs.
    * Config API: split and simplify healthz/metrics server configuration.
    * Config API: clarify leader election configuration.
    * Config API: improve defaulting.
    * CLI: deprecate all flags except `--config`.
    * CLI: port all flags to new config API.
    * CLI: refactor to match kube-proxy Cobra command style.
    * Server: refactor away configurator.go to clarify application wiring.
    * Server: refactor to more clearly separate wiring/setup from running.
    
    Fixes #52428.
    efb2bb71
checks.go 27.4 KB