1. 22 Nov, 2017 28 commits
  2. 21 Nov, 2017 12 commits
    • Kubernetes Submit Queue's avatar
      Merge pull request #55794 from porridge/patient-big-master · a69f9dad
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 54316, 53400, 55933, 55786, 55794). 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>.
      
      Be less agressive and more patient when creating large master.
      
      **What this PR does / why we need it**:
      
      Workaround for #55777
      
      **Release note**:
      ```release-note
      NONE
      ```
      a69f9dad
    • Kubernetes Submit Queue's avatar
      Merge pull request #55786 from porridge/debug-e2e-pod-wait · 61792ef4
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 54316, 53400, 55933, 55786, 55794). 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>.
      
      Improve messages around waiting for pods.
      
      **What this PR does / why we need it**:
      
      This is a step towards solving #55785
      
      **Release note**:
      ```release-note
      NONE
      ```
      61792ef4
    • Kubernetes Submit Queue's avatar
      Merge pull request #55933 from bsalamat/starvation3 · 34b258ca
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 54316, 53400, 55933, 55786, 55794). 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>.
      
      Add support to take nominated pods into account during scheduling to avoid starvation of higher priority pods
      
      **What this PR does / why we need it**:
      When a pod preempts lower priority pods, the preemptor gets a "nominated node name" annotation. We call such a pod a nominated pod. This PR adds the logic to take such nominated pods into account when scheduling other pods on the same node that the nominated pod is expected to run. This is needed to avoid starvation of preemptor pods. Otherwise, lower priority pods may fill up the space freed after preemption before the preemptor gets a chance to get scheduled.
      
      **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 #54501
      
      **Special notes for your reviewer**: This PR is built on top of #55109 and includes all the changes there as well.
      
      **Release note**:
      
      ```release-note
      Add support to take nominated pods into account during scheduling to avoid starvation of higher priority pods.
      ```
      
      /sig scheduling
      ref/ #47604
      34b258ca
    • Kubernetes Submit Queue's avatar
      Merge pull request #53400 from micahhausler/aws-nlb · 63d4b85b
      Kubernetes Submit Queue authored
      Automatic merge from submit-queue (batch tested with PRs 54316, 53400, 55933, 55786, 55794). 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>.
      
      Add Amazon NLB support
      
      **What this PR does / why we need it**:
      
      This adds support for AWS's NLB for `LoadBalancer` services.
      
      **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
      
      Fixes #52173
      
      **Special notes for your reviewer**:
      
      This is NOT yet ready for merge, but I'd love any feedback before it is.
      
      This requires at least `v1.10.40` of the [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go), which is not yet included in Kubernetes. Per @justinsb, I'm waiting on possibly #48314 to update to `v1.10.40`  or some other PR. 
      
      I tried to make the change as easy to review as possible, so some LoadBalancer logic is duplicated in the `if isNLB(annotations)` blocks. I can refactor that and sprinkle more `isNLB()` switches around, but it might be harder to view the diff.
      
      **Other Notes:**
      
      * NLB's subnets cannot be modified after creation (maybe look for public subnets in all AZ's?).  Currently, I'm just using `c.findELBSubnets()`
      * Health check uses TCP with all the NLB default values. I was thinking HTTP health checks via annotation could be added later. Should that go into this PR?
      * ~~`externalTrafficPolicy`/`healthCheckNodePort` are ignored. Should those be implemented for this PR?~~
      * `externalTrafficPolicy` and subsequent `healthCheckNodePort` are handled properly. This may come with uneven load balancing, as NLB doesn't support weighted backends.
      * With classic ELB, you have a security group the ELB is inside of to associate Instance (k8s node) SG rules with a LoadBalancer (k8s Service), but NLB's don't have a security group. Instead, I use the `Description` field on [`ec2.IpRange`](https://docs.aws.amazon.com/sdk-for-go/api/service/ec2/#IpRange) with the following annotations. Is this ok? I couldn't think of another way to associate SG rule to the NLB
          * Node SG gets an rule added for VPC cidr on NodePort for Health Check with annotation in description `kubernetes.io/rule/nlb/health=<loadBalancerName>`
          * Node SG gets an rule added for `loadBalancerSourceRanges` to  NodePort for client traffic with annotation in description `kubernetes.io/rule/nlb/client=<loadBalancerName>`
          * **Note: if `loadBalancerSourceRanges` is unspecified, this opens instance security groups to traffic from `0.0.0.0/0` on the service's nodePorts**
      * Respects internal annotation
      * Creates a TargetGroup per frontend port: simplifies updates when you have same backend port for multiple front end ports.
      * Does not (yet) verify that we're under the NLB limits in terms of # of listeners
      * `UpdateLoadBalancer()`  basically just calls `EnsureLoadBalancer` for NLB's. Is this ok?
      
      **Areas for future improvement or optimization**:
      
      * A new annotation indicating a new security group should be created for NLB traffic and instances would be placed in this new SG. (Could bump up against the default limit of 5 SG's per instance)
      * Only create a client health check security group rule when the VPC cidr is not a subset of `spec.loadBalancerSourceRanges`
      * Consolidate TargetGroups if a service has 2+ frontend ports and the same nodePort.
      * A new annotation for specifying TargetGroup Health Check options.
      
      **Release note**:
      
      ```release-notes
      Add Amazon NLB support - Fixes #52173
      ```
      
      ping @justinsb @bchav
      63d4b85b
    • Kubernetes Submit Queue's avatar
      Merge pull request #54316 from dashpole/disk_request_eviction · 03b7d77b
      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>.
      
      Take disk requests into account during evictions
      
      fixes #54314
      
      This PR is part of the local storage feature, and it makes the eviction manager take disk requests into account during disk evictions.
      This uses the same eviction strategy as we do for memory.
      Disk requests are only considered when the LocalStorageCapacityIsolation feature gate is enabled.  This is enforced by adding a check for the feature gate in getRequests().
      I have added unit testing to ensure that previous behavior is preserved when the feature gate is disabled.
      Most of the changes are testing.  Reviewers should focus on changes in **eviction/helpers.go**
      
      /sig node
      /assign @jingxu97  @vishh
      03b7d77b
    • Eric Chiang's avatar
      oidc auth: fix prefix flag plumbing · df764029
      Eric Chiang authored
      df764029
    • Jiaying Zhang's avatar
    • Chao Xu's avatar
      update-all generated · fcf4f15c
      Chao Xu authored
      fcf4f15c
    • Chao Xu's avatar
      manual fix required to run hack/update-all.sh · a6d955e9
      Chao Xu authored
      a6d955e9
    • Chao Xu's avatar
      fix hack/local-cluster-up.sh · 0dab236c
      Chao Xu authored
      0dab236c
    • Chao Xu's avatar
      remove reference to v1alpha1 · 7945ae68
      Chao Xu authored
      7945ae68
    • Chao Xu's avatar