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

Update gateway api CRD versions? #638

Open
vd-arnaud opened this issue May 16, 2024 · 3 comments
Open

Update gateway api CRD versions? #638

vd-arnaud opened this issue May 16, 2024 · 3 comments

Comments

@vd-arnaud
Copy link

The current version (v1.0.5) of the gateway-api-controller chart comes with crds that are quite old:

  • GatewayClass: v1alpha2,v1beta1
  • Gateway: v1alpha2, v1beta1
  • HTTPRoute: v1alpha2, v1beta1
  • GRPCRoute: v1alpha2

Such CRDs are from this release which is more than one year old

The last release from kubernetes-sigs includes:

  • GatewayClass: v1, v1beta1
  • Gateway: v1, v1beta1
  • GRPCRoute: v1, v1alpha2
  • HTTPRoute: v1, v1beta1
  • ReferenceGrant: v1alpha2, v1beta1

It leads to issues because other actors in this ecosystem uses new CRDs version, for example the last version of external-dns is using HTTPRoute v1. So one had to update this particular CRD to be able to use gateway-api-controller AND external-dns. Hopefully the last HTTPRoute CRD still includes v1beta1, but for how long?

It would be great if you plan to update CRDs in future release 🙏

@zijun726911
Copy link
Contributor

zijun726911 commented May 16, 2024

If you install the v1 gateway API CRDs in your cluster by:

=== "v1 CRDs (latest, recommended)"
Install the latest `v1` CRDs:
```bash
kubectl apply -f config/crds/bases/k8s-gateway-v1.0.0.yaml
and run the v1.0.5 controller and create v1 Gateway, v1 HTTPRoute, what it happen? In the e2e test code we actually already used the V1 gateway api resource, for example: and it can work for us.

But your suggestion really make sense, we need to install the v1 CRDs by default in the helm chart and use v1 CRDs in the controller code.

@vd-arnaud
Copy link
Author

vd-arnaud commented May 16, 2024

I did the test to install last release from kubernetes-sigs then to install gateway-api-controller v1.0.5 and I got some error in aws-gateway-controller-chart pods so I didn't go further.

Here is a sample of errors I've got:

{"level":"error","ts":"2024-05-16T17:13:48.717Z","logger":"runtime.controller-runtime.source.EventHandler","caller":"source/kind.go:68","msg":"failed to get informer from cache","error":"failed to get API group resources: unable to retrieve the complete list of server APIs: gateway.networking.k8s.io/v1alpha2: the server could not find the requested resource"}

which makes sense: gateway-api-controller tries to fetch gateway using v1alpha2 which is not available anymore with new CRDs. I "fixed" this error by downgrading Gateway CRD and I got similar error with GatewayClass

Thanks for your interest in this, please tell me if I can help 👍

@vd-arnaud
Copy link
Author

Hello, small update from our side, we are now using DNSEndpoint instead of HTTPRoute as a source for our external-dns configuration and it kind of solved the issue.

I still think it would be nice to have updated CRDs to prevent some similar issues in the future (the possibility to have differents piece of software using those CRDs is not null at all!)

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

No branches or pull requests

2 participants