-
Notifications
You must be signed in to change notification settings - Fork 473
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
gateway-api v1.1.0 standard-install breaks envoy-gateway and cilium-operator #3075
Comments
|
Yes, each implementation will need to update to support v1.1, which for Cilium will require supporting both v1 and v1alpha2 of GRPCRoute. Until then, Cilium only supports v1.0 of Gateway API. |
I mean, users might not use any v1alpha2 GRPCRoute at all and so there is no need for CR upgrade. But the current situation is that both envoy-gateway and cilium-operator can't even start due to the hard requirement of v1alpha2 GRPCRoute crd. Maybe it's a good idea for envoy-gateway, cilium-operator and other implementations to ignore missing experimental alpha/beta crds and finish starting. P.S. I edited my original comment to correct my wrongly made assumption. |
FWIW this is basically how we did it in Istiod. We already had old logic for "If CRD doesn't exist, ignore it and startup anyways". GW API somewhat broke that by removing versions (our own CRDs do not do this), so we made it so you have to explicitly opt into experimental CRDs like GRPCRoute v1alpha2 |
Created #3084 to help document this pain point when upgrading to v1.1. |
I opened cilium/cilium#32539 to cover building out support for Cilium that's similar to what @howardjohn described for Istio. |
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 |
Not stale. |
/remove-lifecycle stale |
The required Cilium changes (in cilium/cilium#34212) have been merged into We probably also need some updates to the Gateway API CRD managment guide at https://gateway-api.sigs.k8s.io/guides/crd-management/ and the Implementer's guide at https://gateway-api.sigs.k8s.io/guides/implementers/ to recommend that implementations ensure that Experimental CRDs are optional for startup. Suggestions or PRs welcomed on those fronts. |
What happened:
Recently I upgraded the gateway-api to v1.1.0 from the standard channel, but I found that both envoy-gateway and cilium-operator are in error, even though I have not directly used GRPCRoute gateway.networking.k8s.io/v1alpha2. (istio controller is fine)
From the v1.1.0 release notes:
It seems to me that the experimental channel is more safe to upgrade, which is unintuitive.I have two questions regarding this issue:
Is it possible to keep old api versions in the standard channel and deprecate them only after some period and future releases?Edited:
I wrongly made the assumption that the v1alpha2 GRPCRoute was installed from the gateway api standard channel, but in reality it was installed by envoy-gateway helm charts which embed the experimental grpcroutes crd. (The cilium-operator also requires the experimental gateway api crds, but istio only requires stable gateway crds so when I upgrade the gateway api it's not broken.)
envoy-gateway log:
cilium-operator log:
What you expected to happen:
standard-install is more safe to upgrade.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
The text was updated successfully, but these errors were encountered: