aws-load-balancer-controller icon indicating copy to clipboard operation
aws-load-balancer-controller copied to clipboard

Add support labels selector to `target-node-labels` and `aws-load-balancer-target-node-labels` annotations

Open alanprot opened this issue 3 years ago • 7 comments

Is your feature request related to a problem?

We may need to remove from a target group all nodes from a given AZ in case of a AZ outage. Currently service.beta.kubernetes.io/aws-load-balancer-target-node-labels and alb.ingress.kubernetes.io/target-node-labels only supports the = operator which makes this not feasible.

https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.3/guide/ingress/annotations/#target-node-labels https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/service/annotations/#target-node-labels

Describe the solution you'd like service.beta.kubernetes.io/aws-load-balancer-target-node-labels and alb.ingress.kubernetes.io/target-node-labels values should be decoded as labels selectors instead stringMap and we so should be able now to do something like:

 service.beta.kubernetes.io/aws-load-balancer-target-node-labels: "install=gateway, topology.kubernetes.io/zone!=us-west-2a"

Describe alternatives you've considered

I tried to work around issue adding add the healthy AZs but it does not work as the stringMap type will return only one value for a given label (as expected once it is a Map):

Ex:

 service.beta.kubernetes.io/aws-load-balancer-target-node-labels: "install=gateway, topology.kubernetes.io/zone=us-west-2a, topology.kubernetes.io/zone=us-west-2c"

Will be decoded to

{
  "install": "gateway",
  "topology.kubernetes.io/zone": "us-west-2-c"
}

alanprot avatar Nov 11 '21 01:11 alanprot

/kind feature Thanks for raising this issue. I believe use labelSelectors is the way to go and it should be backwards compatible as well 👍

M00nF1sh avatar Nov 11 '21 19:11 M00nF1sh

This feature is critical for AZ evacuation, when one AWS AZ went back, we should have a quick way to remove the nodes in the BAD AZ from the target group quickly.

shaoxt avatar Feb 01 '22 19:02 shaoxt

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar May 02 '22 19:05 k8s-triage-robot

/remove-lifecycle stale

alanprot avatar May 02 '22 22:05 alanprot

I think this is still relevant!

alanprot avatar May 02 '22 22:05 alanprot

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Jul 31 '22 22:07 k8s-triage-robot

/remove-lifecycle stale

jeromeinsf avatar Aug 27 '22 02:08 jeromeinsf

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Nov 25 '22 02:11 k8s-triage-robot

/remove-lifecycle stale

jeromeinsf avatar Nov 25 '22 02:11 jeromeinsf

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Feb 23 '23 02:02 k8s-triage-robot

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle rotten
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

k8s-triage-robot avatar Mar 25 '23 02:03 k8s-triage-robot

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue with /reopen
  • Mark this issue as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close not-planned

k8s-triage-robot avatar Apr 24 '23 03:04 k8s-triage-robot

@k8s-triage-robot: Closing this issue, marking it as "Not Planned".

In response to this:

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue with /reopen
  • Mark this issue as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close not-planned

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

k8s-ci-robot avatar Apr 24 '23 03:04 k8s-ci-robot