|
| 1 | +// Modules included in the following assemblies: |
| 2 | +// |
| 3 | +// * networking/configuring_ingress_cluster_traffic/ingress-gateway-api.adoc |
| 4 | + |
| 5 | +:_mod-docs-content-type: PROCEDURE |
| 6 | +[id="nw-ingress-gateway-api-manage-succession_{context}"] |
| 7 | += Preparing for Gateway API management succession by the Ingress Operator |
| 8 | + |
| 9 | +Starting in {product-title} 4.19, the Ingress Operator manages the lifecycle of any Gateway API custom resource definitions (CRDs). Updating from a version before 4.19 of {product-title} where this management was not present requires you to replace or remove any Gateway API CRDs that already exist in the cluster so that they conform to the specific {product-title} specification required by the Ingress Operator. {product-title} version 4.19 requires Gateway API Standard version 1.2.0 CRDs. |
| 10 | + |
| 11 | +[WARNING] |
| 12 | +==== |
| 13 | +Updating or deleting Gateway API resources can result in downtime and loss of service or data. Be sure you understand how this will affect your cluster before performing the steps in this procedure. If necessary, back up any Gateway API objects in YAML format in order to restore it later. |
| 14 | +==== |
| 15 | + |
| 16 | +.Prerequisites |
| 17 | +* You have installed the OpenShift CLI (`oc`). |
| 18 | +* You have access to an {product-title} account with cluster administrator access. |
| 19 | +* Optional: You have backed up any necessary Gateway API objects. |
| 20 | +
|
| 21 | +.Procedure |
| 22 | + |
| 23 | +. List all the Gateway API CRDs that you need to remove by running the following command: |
| 24 | ++ |
| 25 | +[source,terminal] |
| 26 | +---- |
| 27 | +$ oc get crd | grep "gateway.networking" |
| 28 | +---- |
| 29 | ++ |
| 30 | +.Example output |
| 31 | ++ |
| 32 | +[source,terminal] |
| 33 | +---- |
| 34 | +gatewayclasses.gateway.networking.k8s.io |
| 35 | +gateways.gateway.networking.k8s.io |
| 36 | +grpcroutes.gateway.networking.k8s.io |
| 37 | +httproutes.gateway.networking.k8s.io |
| 38 | +referencegrants.gateway.networking.k8s.io |
| 39 | +---- |
| 40 | + |
| 41 | +. Delete the Gateway API CRDs from the previous step by running the following command: |
| 42 | ++ |
| 43 | +[source,terminal] |
| 44 | +---- |
| 45 | +$ oc delete crd gatewayclasses.networking.k8s.io && \ |
| 46 | +oc delete crd gateways.networking.k8s.io && \ |
| 47 | +oc delete crd grpcroutes.gateway.networking.k8s.io && \ |
| 48 | +oc delete crd httproutes.gateway.networking.k8s.io && \ |
| 49 | +oc delete crd referencesgrants.gateway.networking.k8s.io |
| 50 | +---- |
| 51 | ++ |
| 52 | +[IMPORTANT] |
| 53 | +==== |
| 54 | +Any controller that was previously managing the lifecycle of the Gateway API CRDs will fail to operate properly. Attempting to force its use in conjunction with the Ingress Operator to manage Gateway API CRDs might prevent the cluster update from succeeding. |
| 55 | +==== |
| 56 | + |
| 57 | +. Get the supported Gateway API CRDs by running the following command: |
| 58 | ++ |
| 59 | +[source,terminal] |
| 60 | +---- |
| 61 | +$ oc apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.0/standard-install.yaml |
| 62 | +---- |
0 commit comments