kubernetes-sigs / aws-load-balancer-controller

A Kubernetes controller for Elastic Load Balancers
https://kubernetes-sigs.github.io/aws-load-balancer-controller/
Apache License 2.0
3.83k stars 1.41k forks source link

AWS load balancer controller uses invalid (or deprecated) annotations #2949

Open sftim opened 1 year ago

sftim commented 1 year ago

Describe the bug https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/guide/service/annotations/ and https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/guide/ingress/annotations/ both list annotations; however, the Service annotations use a deprecated form that includes .beta. (.alpha. is also deprecated).

For both kinds, the annotations are not yet registered - see https://kubernetes.io/docs/reference/labels-annotations-taints/

I'm not sure whether to class the Service annotations as unregistered or deprecated. Either way, I recommend fixing it.

Steps to reproduce Read https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/guide/service/annotations/ or https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/guide/ingress/annotations/

Recommendation

I'd prefer not to register the existing annotations without also deprecating them. Ideally, we don't end up having any registered annotations that are:

Additional Context: I'm also working on https://github.com/kubernetes/website/pull/38551 for the Kubernetes documentation; this issue relates to registering those annotations.

For an example of a cloud provider partly following recommended practice, see https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing

There are other providers that also do it wrong; for example: https://cloud.ibm.com/docs/containers?topic=containers-loadbalancer

Future plans:

Eventually, the Kubernetes project may return warnings when unregistered annotations are used. Right now there are no plans for such warnings, that I know of. Even if warnings are ever returned, I assume that you'd still be able to use unregistered annotations and labels, you'd just get a Warning: header in the API response.

kishorj commented 1 year ago

@sftim, thanks for raising the details. We have it in our roadmap for 2.5.0 release. Here is our current plan:

k8s-triage-robot commented 1 year ago

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

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

You can:

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

/lifecycle stale

sftim commented 1 year ago

/remove-lifecycle stale /triage accepted

Part of roadmap

k8s-triage-robot commented 3 months ago

This issue has not been updated in over 1 year, and should be re-triaged.

You can:

For more details on the triage process, see https://www.kubernetes.dev/docs/guide/issue-triage/

/remove-triage accepted

k8s-triage-robot commented 1 week ago

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

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

You can:

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

/lifecycle stale