1. 22 May, 2018 6 commits
    • Kubernetes Submit Queue's avatar
      Merge pull request #64118 from deads2k/cli-65-podspec · 8cccc022
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      move updatepodspecforobject out of factory
      
      Updating a podspec is a polymorphic helper, but it isn't a factory method.
      
      @kubernetes/sig-cli-maintainers 
      /assign @juanvallejo 
      
      ```release-note
      NONE
      ```
      8cccc022
    • Kubernetes Submit Queue's avatar
      Merge pull request #63221 from mtaufen/dkcfg-live-configmap · 2a989c60
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 63881, 64046, 63409, 63402, 63221). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Kubelet responds to ConfigMap mutations for dynamic Kubelet config
      
      This PR makes dynamic Kubelet config easier to reason about by leaving less room for silent skew scenarios. The new behavior is as follows:
      - ConfigMap does not exist: Kubelet reports error status due to missing source
      - ConfigMap is created: Kubelet starts using it
      - ConfigMap is updated: Kubelet respects the update (but we discourage this pattern, in favor of incrementally migrating to a new ConfigMap)
      - ConfigMap is deleted: Kubelet keeps using the config (non-disruptive), but reports error status due to missing source
      - ConfigMap is recreated: Kubelet respects any updates (but, again, we discourage this pattern)
      
      This PR also makes a small change to the config checkpoint file tree structure, because ResourceVersion is now taken into account when saving checkpoints. The new structure is as follows:
      ```
      - dir named by --dynamic-config-dir (root for managing dynamic config)
      | - meta
        | - assigned (encoded kubeletconfig/v1beta1.SerializedNodeConfigSource object, indicating the assigned config)
        | - last-known-good (encoded kubeletconfig/v1beta1.SerializedNodeConfigSource object, indicating the last-known-good config)
      | - checkpoints
        | - uid1 (dir for versions of object identified by uid1)
          | - resourceVersion1 (dir for unpacked files from resourceVersion1)
          | - ...
        | - ...
      ```
      
      
      fixes: #61643
      
      ```release-note
      The dynamic Kubelet config feature will now update config in the event of a ConfigMap mutation, which reduces the chance for silent config skew. Only name, namespace, and kubeletConfigKey may now be set in Node.Spec.ConfigSource.ConfigMap. The least disruptive pattern for config management is still to create a new ConfigMap and incrementally roll out a new Node.Spec.ConfigSource.
      ```
      2a989c60
    • Kubernetes Submit Queue's avatar
      Merge pull request #63402 from juanvallejo/jvallejo/move-printer-flags-to-genericclihelpers · fe509498
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 63881, 64046, 63409, 63402, 63221). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      move printer flags to genericclihelpers
      
      **Release note**:
      ```release-note
      NONE
      ```
      
      Moves all pkg/kubectl/cmd#PrintFlags to pkg/kubectl/genericclioptions
      ~~Depends on https://github.com/kubernetes/kubernetes/pull/63340~~
      ~~Depends on https://github.com/kubernetes/kubernetes/pull/63808~~
      ~~Depends on https://github.com/kubernetes/kubernetes/pull/63928~~
      Depends on https://github.com/kubernetes/kubernetes/pull/64107
      
      ~Opening now to catch CI failures~
      
      cc @deads2k @soltysh
      fe509498
    • Kubernetes Submit Queue's avatar
      Merge pull request #63409 from mtaufen/kc-validation-feature-gates · 6d510f52
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 63881, 64046, 63409, 63402, 63221). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Kubelet config: Validate new config against future feature gates
      
      This fixes an issue with KubeletConfiguration validation, where the             
      feature gates set by the new config were not taken into account.                
                                                                                      
      Also fixes a validation issue with dynamic Kubelet config, where flag           
      precedence was not enforced prior to dynamic config validation in the           
      controller; this prevented rejection of dynamic configs that don't merge        
      well with values set via legacy flags. 
      
      Fixes #63305 
      
      ```release-note
      NONE
      ```
      6d510f52
    • Kubernetes Submit Queue's avatar
      Merge pull request #64046 from yujuhong/log-rotate-beta · 19388204
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 63881, 64046, 63409, 63402, 63221). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Graduate CRIContainerLogRotation to beta
      
      **Release note**:
      
      ```release-note
      Graduate CRI container log rotation to beta, and enable it by default.
      ```
      19388204
    • Kubernetes Submit Queue's avatar
      Merge pull request #63881 from luxas/disable_cadvisor_default · 99e9db58
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 63881, 64046, 63409, 63402, 63221). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
      
      Disable the public cadvisor port by default
      
      **What this PR does / why we need it**:
      Quoting @tallclair in #56523:
      > We should add the deprecation warning in 1.10 along with a release note, but not change the default. The notes should warn that the default will change in 1.11. We disable the flag by default in 1.11, and remove it entirely in 1.12 or 1.13.
      > If you currently depend on the UI or the API, speak up! Going forward, the recommended way of taking advantage of those features will be to run cAdvisor as a DaemonSet.
      
      Disabling the publicly-available cAdvisor port is beneficial for security, as you might not want to expose the UI with lots of information about what your system is doing. We already did this for all kubeadm deployments in v1.7, and haven't recieved any issues for that. This should be okay to do at this stage, as this flag was deprecated in v1.10. Given we need to support this flag for one more release (v1.11), it makes perfect sense to instead switch it off in preparation for v1.12 when we can delete it (see the [deprecation policy](https://kubernetes.io/docs/reference/deprecation-policy/#deprecating-a-flag-or-cli))
      
      **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
      Part of #56523
      
      **Special notes for your reviewer**:
      
      I removed the e2e test that expects cAdvisor to be running, as we don't expect it to be anymore.
      
      **Release note**:
      
      ```release-note
      [action required] The formerly publicly-available cAdvisor web UI that the kubelet ran on port 4194 by default is now turned off by default. The flag configuring what port to run this UI on `--cadvisor-port` was deprecated in v1.10. Now the default is `--cadvisor-port=0`, in other words, to not run the web server. The recommended way to run cAdvisor if you still need it, is via a DaemonSet. The `--cadvisor-port` will be removed in v1.12
      ```
      cc @kubernetes/sig-cluster-lifecycle-pr-reviews @kubernetes/sig-auth-pr-reviews @kubernetes/sig-node-pr-reviews
      99e9db58
  2. 21 May, 2018 16 commits
  3. 20 May, 2018 5 commits
  4. 19 May, 2018 13 commits