Skip to content
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

Feed-ingress does not work on Kubernetes 1.22+ #247

Closed
howardburgess opened this issue Apr 7, 2022 · 2 comments
Closed

Feed-ingress does not work on Kubernetes 1.22+ #247

howardburgess opened this issue Apr 7, 2022 · 2 comments
Labels

Comments

@howardburgess
Copy link
Contributor

howardburgess commented Apr 7, 2022

Attempting to run feed-ingress on a Kubernetes 1.22 cluster, we noticed that feed does not support the networking.k8s.io/v1 Ingress API. It only watches for extensions/v1beta1.

  • Ingress in extensions/v1beta1 was deprecated in v1.14 (replacement networking.k8s.io/v1beta1)
  • Ingress in networking.k8s.io/v1beta1 was deprecated in v1.19 (replacement networking.k8s.io/v1)
  • extensions/v1beta1 and networking.k8s.io/v1beta1 were removed in v1.22.
❯ kubectl version --short
Client Version: v1.22.3
Server Version: v1.22.6-gke.300

❯ kubectl -n feed logs feed-b7rkz8s2-6bcb84bbb5-42blg --tail=5
E0407 08:29:04.335054       1 reflector.go:125] pkg/mod/k8s.io/[email protected]/tools/cache/reflector.go:98: Failed to list *v1beta1.Ingress: the server could not find the requested resource (get ingresses.extensions)
E0407 08:29:05.338233       1 reflector.go:125] pkg/mod/k8s.io/[email protected]/tools/cache/reflector.go:98: Failed to list *v1beta1.Ingress: the server could not find the requested resource (get ingresses.extensions)
time="2022-04-07T08:29:06Z" level=info msg="Signalled terminated, shutting down gracefully" source="cmd/cmd.go:92"
time="2022-04-07T08:29:06Z" level=info msg="Stopping controller" source="controller/controller.go:419"
time="2022-04-07T08:29:06Z" level=info msg="Controller has stopped" source="controller/controller.go:430"

❯ kubectl api-resources | grep ingresses
ingresses                         ing            networking.k8s.io/v1                   true         Ingress

Compare with a Kubernetes 1.21 cluster:

❯ kubectl --context dev.ce.europe-west1-gcp.npottdc.sky api-resources | grep ingresses
ingresses                          ing            extensions/v1beta1                     true         Ingress
ingresses                          ing            networking.k8s.io/v1                   true         Ingress

Kubernetes 1.22 also introduced the IngressClass resource which will replace the kubernetes.io/ingress.class annotation on Ingresses. The annotation is deprecated but still supported.

@howardburgess
Copy link
Contributor Author

We could:

  • Add a flag to make it support Ingress in the new API group. There are lots of references to extensions/v1beta1 in the code.
  • Make it only watch for the new group, hence a breaking change since it would only work with Kubernetes 1.19+ (which reached end of life on 28 October 2021)

@howardburgess
Copy link
Contributor Author

Since #248 and #249, Feed now supports Kubernetes 1.19+. Released in v6.0.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant