• Kubernetes Submit Queue's avatar
    Merge pull request #48943 from jamiehannaford/kubeadm-feature-gates · 42a73ee3
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue
    
    Add --feature-gate flags to kubeadm
    
    **What this PR does / why we need it**:
    
    Adds `--feature-gates` in similar manner to other `cmd` binaries
    
    **Which issue this PR fixes** 
    
    https://github.com/kubernetes/kubeadm/issues/323
    
    **Special notes for your reviewer**:
    
    This results in a lot of probably unnecessary feature flags. I'm guessing a lot of kubeadm users will be confused when they see:
    
    ```
    Flags:
          --feature-gates mapStringBool   A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
    APIResponseCompression=true|false (ALPHA - default=false)
    Accelerators=true|false (ALPHA - default=false)
    AdvancedAuditing=true|false (ALPHA - default=false)
    AllAlpha=true|false (ALPHA - default=false)
    AllowExtTrafficLocalEndpoints=true|false (default=true)
    AppArmor=true|false (BETA - default=true)
    DebugContainers=true|false (ALPHA - default=false)
    DynamicKubeletConfig=true|false (ALPHA - default=false)
    DynamicVolumeProvisioning=true|false (ALPHA - default=true)
    ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)
    ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
    LocalStorageCapacityIsolation=true|false (ALPHA - default=false)
    PersistentLocalVolumes=true|false (ALPHA - default=false)
    PodPriority=true|false (ALPHA - default=false)
    RotateKubeletClientCertificate=true|false (ALPHA - default=false)
    RotateKubeletServerCertificate=true|false (ALPHA - default=false)
    StreamingProxyRedirects=true|false (BETA - default=true)
    TaintBasedEvictions=true|false (ALPHA - default=false)
      -h, --help                          help for kubeadm
    ```
    
    However the feature flags used in the core pkg is global, so I don't think it can be overriden. So we have a few options:
    
    1. Allow these flags for kubeadm
    2. Refactor feature pkg to allow granular features
    3. Roll our own feature gating for kubeadm
    
    /cc @luxas
    42a73ee3
Name
Last commit
Last update
..
clicheck Loading commit data...
cloud-controller-manager Loading commit data...
gendocs Loading commit data...
genkubedocs Loading commit data...
genman Loading commit data...
genslateyaml Loading commit data...
genswaggertypedocs Loading commit data...
genutils Loading commit data...
genyaml Loading commit data...
gke-certificates-controller Loading commit data...
hyperkube Loading commit data...
kube-apiserver Loading commit data...
kube-controller-manager Loading commit data...
kube-proxy Loading commit data...
kubeadm Loading commit data...
kubectl Loading commit data...
kubelet Loading commit data...
kubemark Loading commit data...
linkcheck Loading commit data...
mungedocs Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...