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

kic: add update guide for gateway API 1.2 #8297

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 30 additions & 1 deletion app/_src/kubernetes-ingress-controller/upgrade/kic.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,9 @@ ingressController:

{% if_version gte:3.2.x %}

### Update Gateway API from v1.0 to v1.1
### Update Gateway API

#### Update Gateway API from v1.0 to v1.1
randmonkey marked this conversation as resolved.
Show resolved Hide resolved

Starting from version 3.2, {{ site.kic_product_name }} supports Gateway API version 1.1.
The primary change in Gateway API v1.1 is the promotion of GRPCRoute from v1alpha2 to v1.
Expand Down Expand Up @@ -73,6 +75,33 @@ complete the following steps to upgrade to version v1.1 of the CRD:

{% endif_version %}

{% if_version gte:3.4.x %}

#### Update Gateway API from v1.1 to v1.2
randmonkey marked this conversation as resolved.
Show resolved Hide resolved

Starting from version 3.4, {{ site.kic_product_name }} supports Gateway API version 1.2.
There is a breaking change in gateway API 1.2 to remove the `v1alpha2` version of `GRPCRoute` and `ReferenceGrant`.
randmonkey marked this conversation as resolved.
Show resolved Hide resolved

If you have been using gateway API v1.1 and {{ site.kic_product_name }} 3.2 and above, and there are no `GRPCRoute` and `ReferenceGrant` resources stored in `v1alpha2` version, you can directly upgrade gateway API from v1.1 to v1.2.
You can use the following script to ensure your `GRPCRoute` and `ReferenceGrant` CRDs are not using `v1alpha2` storage version:

```bash
kubectl get grpcroutes -A -o jsonpath='{.items[*].apiVersion}' | tr ' ' '\n' | sort | uniq -c
kubectl get referencegrants -A -o jsonpath='{.items[*].apiVersion}' | tr ' ' '\n' | sort | uniq -c
```
If any of the output contains `v1alpha2`, it means that there are `GRPCRoute` or `ReferenceGrant` (or both) using `v1alpha2` storage version and you need to update the manifests before upgrading.
randmonkey marked this conversation as resolved.
Show resolved Hide resolved
randmonkey marked this conversation as resolved.
Show resolved Hide resolved

Otherwise, upgrade gateway API and {{ site.kic_product_name }} following these steps:
randmonkey marked this conversation as resolved.
Show resolved Hide resolved

1. Ensure you are using Gateway API 1.1 (you can upgrade by following the steps in the section above).
2. Ensure your are using {{ site.kic_product_name }} version 3.2 (or above).
3. Update all your `GRPCRoute` manifests to use `v1` instead of `v1alpha2` and your `ReferenceGrant` manifests to use `v1beta1` instead of `v1alpha2`. This can be done by following the [upgrade guide from Gateway API][gateway-api-v12-upgrade-notes].
4. Install the wanted channel of gateway API 1.2.

[gateway-api-v12-upgrade-notes]: https://gateway-api.sigs.k8s.io/guides/?h=v1.2#v12-upgrade-notes

{% endif_version %}

### Upgrade

Run the following command, specifying the old release name, the namespace where
Expand Down
Loading