-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The reliance on deprecated annotation causes Kubernetes validation issues #2386
Comments
Totally agree with this. In my case I run two For example, to workaround this issue I annotated my ingress resources with something like You can use any annotation you like, just be sure to match the filter in the By using this method you workaround the warning/error and your gitops pipeline will work without issues. Hope it helps! |
Ah that's extremely helpful thanks @calexandre. |
This also breaks gitlab auto-dev-ops. I'm a bit surprised to find this issue open. The issue is almost a month old and external-dns is broken on every GCP cluster running the most recent release. Shouldn't this be an extremely high priority issue for this software? I mean, this must affect a significant percentage of all existing k8s clusters. I assumed that packages under K8S SIGs had a maintenance team, but I can't actually find anything. |
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:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
/remove-lifecycle stale |
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:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
/remove-lifecycle stale |
Just ran into this myself while prepping for Kubernetes 1.22 upgrade. The backward compatible workaround would be a hack reading the Given that the upgrade path requires non-automated changes to the Ingress resource itself, I think it is fine to require a non-automated change to external-dns, too. I propose a new filter Not a substitute, but it would also be good if the project publish an official annotation for this, something like
|
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:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
/remove-lifecycle stale |
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:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
/remove-stale |
/remove-lifecycle stale |
This is still relevant 👀 |
It's been awhile since I've implemented this and I was surprised to find the best way to filter is I don't know. However, this project has provided me a lot of value. I wouldn't mind taking a crack at it, but some guidance on the desired approach would be helpful. |
I believe the solution is implemented in this unapproved PR #2054. |
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 |
/remove-lifecycle stale |
I believe this is fixed with #3589 included in the latest release v0.13.5. |
Please tell if it wasn't fixed and we will reopen it |
@szuecs: Closing this issue. In response to this:
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. |
What happened:
Kubernetes has in-built validation to prevent users from adding the annotation
kubernetes.io/ingress.class
alongside the newerspec.ingressClassName
.Although external-dns was recently updated for K8s 1.22 support, it still relies on this annotation. As a result, it is not possible to create a new ingress in one go. One must apply the ingress yaml and then apply a patch to include the annotation. This has a knock-on effect to breaking declarative 'gitOps' tools such as argoCD.
More information on the validation here: https://sourcegraph.com/github.com/kubernetes/kubernetes/-/blob/pkg/apis/networking/validation/validation.go?L237#tab=references
What you expected to happen:
External-dns needs to rely on the newer
spec.ingressClassName
and remove the reliance on the deprecatedkubernetes.io/ingress.class
annotation.How to reproduce it (as minimally and precisely as possible):
Run the following:
Resulting error:
The Ingress "example" is invalid: annotations.kubernetes.io/ingress.class: Invalid value: "nginx": can not be set when the class field is also set
Anything else we need to know?:
Environment:
external-dns --version
):k8s.gcr.io/external-dns/external-dns:v0.10.0
Route53
The text was updated successfully, but these errors were encountered: