1. 16 Feb, 2018 3 commits
    • Kubernetes Submit Queue's avatar
      Merge pull request #59170 from cofyc/fix_kubelet_volume_metrics · bfdd94c6
      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>.
      
      Fix kubelet PVC stale metrics
      
      **What this PR does / why we need it**:
      
      Volumes on each node changes, we should not only add PVC metrics into
      gauge vector. It's better use a collector to collector metrics from internal
      stats.
      
      Currently, if a PV (bound to a PVC `testpv`)  is attached and used by node A, then migrated to node B or just deleted from node A later.  `testpvc` metrics will not disappear from kubelet on node A. After a long running time, `kubelet` process will keep a lot of stale volume metrics in memory.
      
      For these dynamic metrics, it's better to use a collector to collect metrics from a data source (`StatsProvider` here), like [kube-state-metrics](https://github.com/kubernetes/kube-state-metrics) scraping metrics from kube-apiserver.
      
      **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
      Fixes https://github.com/kubernetes/kubernetes/issues/57686
      
      **Special notes for your reviewer**:
      
      **Release note**:
      
      ```release-note
      Fix kubelet PVC stale metrics
      ```
      bfdd94c6
    • Kubernetes Submit Queue's avatar
      Merge pull request #59830 from khenidak/az-ratelimit · 271c267f
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 59939, 59830). 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>.
      
      Azure - ARM Read/Write rate limiting
      
      **What this PR does / why we need it**:
      
      Azure cloud provider currently runs with:
      1. Single ARM rate limiter for both `read [put/post/delete]` and `write` operations, while ARM provide [different rates for read/write] (https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-request-limits). This causes write operation to stop even if there is available write request quotas. 
      2. Cloud provider uses rate limiter's `Accept()` instead of `TryAccept()` This causes control loop to wait for prolonged tike `in case of no request quota available` for **all** requests even for those does not require ARM interaction. A case for that the `Service` control loop will wait for a prolonged time trying to create `LoadBalancer` service even though it can fail and work on the next service which is `ClusterIP`. This PR moves cloud provider tp `TryAccept()`
      
      **Which issue(s) this PR fixes**:
      Fixes # https://github.com/kubernetes/kubernetes/issues/58770
      
      **Special notes for your reviewer**:
      `n/a`
      
      **Release note**:
      
      ```release-note
      - Separate current ARM rate limiter into read/write
      - Improve control over how ARM rate limiter is used within Azure cloud provider
      ```
      
      cc @jackfrancis (need your help carefully reviewing this one) @brendanburns @jdumars
      271c267f
    • Kubernetes Submit Queue's avatar
      Merge pull request #59939 from dims/avoid-calls-to-cloud-instances-unless-taint-present · 281cb007
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 59939, 59830). 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>.
      
      Avoid call to get cloud instances
      
      **What this PR does / why we need it**:
      
      if a node does not have the taint, we really don't need to make calls
      to get the list of instances from the cloud provider
      
      **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
      Fixes #
      
      **Special notes for your reviewer**:
      Found when reviewing code for #59887
      
      **Release note**:
      
      ```release-note
      NONE
      ```
      281cb007
  2. 15 Feb, 2018 36 commits
  3. 14 Feb, 2018 1 commit