diff --git a/docs/blogs/EnhancedDevPreviewGatewayAPI/GettingStarted.md b/docs/blogs/EnhancedDevPreviewGatewayAPI/GettingStarted.md index ade1473..62942b5 100644 --- a/docs/blogs/EnhancedDevPreviewGatewayAPI/GettingStarted.md +++ b/docs/blogs/EnhancedDevPreviewGatewayAPI/GettingStarted.md @@ -7,7 +7,7 @@ Note: Gateway API via Ingress Operator is GA in OpenShift 4.19. These instructi * Prior to GA 4.19, use a non-production OpenShift Cluster * OpenShift version 4.18 or greater, on a cloud platform that supports Kubernetes service load balancers (e.g. GCP, AWS, and Azure) - * If OSSM is already installed, it must be at least: + * If OSSM is already installed, the minimum required version is: * OSSM 2.6 for OpenShift 4.18 * OSSM 3.0.1 for OpenShift 4.19 * OSSM 3.1.0 for OpenShift 4.20 @@ -35,8 +35,6 @@ $ oc adm policy add-cluster-role-to-user cluster-admin -z ingress-operator -n op clusterrole.rbac.authorization.k8s.io/cluster-admin added: "ingress-operator" ``` -It is anticipated that this need for cluster-admin permissions will be eliminated in a future release of Gateway API in OpenShift. - ### 2\. Enable the Feature Gate (For OCP version before 4.19) * **OpenShift 4.19 and beyond:** This step is no longer required and should be skipped. @@ -51,7 +49,7 @@ featuregate.config.openshift.io/cluster patched Wait for the ingress operator to successfully install the Gateway API CRDs: -> **Note:** OCP 4.20 and later also includes the `grpcroutes.gateway.networking.k8s.io` CRD for routing gRPC traffic. +> **Note:** OCP 4.19 and later also includes the `grpcroutes.gateway.networking.k8s.io` CRD for routing gRPC traffic. ```console $ oc get crd gatewayclasses.gateway.networking.k8s.io httproutes.gateway.networking.k8s.io gateways.gateway.networking.k8s.io referencegrants.gateway.networking.k8s.io @@ -92,16 +90,16 @@ Next, create the GatewayClass. The controller name differs by version: gatewayclass.gateway.networking.k8s.io/openshift-default created ``` -Behind the scenes, the Ingress Operator creates a ServiceMeshControlPlane (SMCP) CR, which is the configuration API for OSSM. Wait a minute or two for the SMCP to be created and become ready: +Behind the scenes, the Ingress Operator creates either a ServiceMeshControlPlane (SMCP) or Istio CR. The SMCP CR is the configuration API for OSSM prior to OpenShift 4.19, and the Istio CR takes its place in OpenShift 4.19 and later. Wait a minute or two for the SMCP or Istio CR to be created and become ready: - * **Prior to OpenShift 4.20:** OSSM uses ServiceMeshControlPlane (SMCP) resources. + * **Prior to OpenShift 4.19:** OSSM uses ServiceMeshControlPlane (SMCP) resources. ```console $ oc get smcp -n openshift-ingress NAME READY STATUS PROFILES VERSION AGE openshift-gateway 5/5 ComponentsReady ["default"] 2.4.0 10m ``` - * **OpenShift 4.20 and beyond:** OSSM 3 uses Istio resources instead of SMCP. + * **OpenShift 4.19 and beyond:** OSSM 3 uses Istio resources instead of SMCP. ```console $ oc get istio -A NAME NAMESPACE PROFILE REVISIONS READY IN USE ACTIVE REVISION STATUS VERSION AGE @@ -110,7 +108,7 @@ Behind the scenes, the Ingress Operator creates a ServiceMeshControlPlane (SMCP) OSSM will create Istio deployments in the `openshift-ingress` namespace. Ensure the pods for the deployments are running. - * **Prior to OpenShift 4.20:** OSSM creates a shared `istio-ingressgateway` deployment and the control plane. + * **Prior to OpenShift 4.19:** OSSM creates a shared `istio-ingressgateway` deployment and the control plane. ```console $ oc get deployment -n openshift-ingress NAME READY UP-TO-DATE AVAILABLE AGE @@ -119,7 +117,7 @@ OSSM will create Istio deployments in the `openshift-ingress` namespace. Ensure router-default 2/2 2 2 6h4m ``` - * **OpenShift 4.20 and beyond:** Only the Istio control plane (`istiod`) is created at this stage. Individual gateway deployments are created when you create Gateway resources. + * **OpenShift 4.19 and beyond:** Only the Istio control plane (`istiod`) is created at this stage. Individual gateway deployments are created when you create Gateway resources. ```console $ oc get deployment -n openshift-ingress NAME READY UP-TO-DATE AVAILABLE AGE @@ -176,7 +174,7 @@ gateway.gateway.networking.k8s.io/demo-gateway created By default, Istio will [automatically provision](https://istio.io/latest/docs/tasks/traffic-management/ingress/gateway-api/#automated-deployment) a gateway deployment and service with the same name upon creation of this Gateway object: -* **OpenShift 4.20 and beyond:** The deployment name changes to `demo-gateway-openshift-default`. +* **OpenShift 4.19 and beyond:** The deployment name changes to `demo-gateway-openshift-default`. ```console @@ -290,11 +288,11 @@ httproute.gateway.networking.k8s.io/http created Wait for the gateway deployment to be ready: - * **Prior to OpenShift 4.20:** The condition is `Ready`. + * **Prior to OpenShift 4.19:** The condition is `Ready`. ```console $ oc wait -n openshift-ingress --for=condition=ready gateways.gateway.networking.k8s.io demo-gateway ``` - * **OpenShift 4.20 and beyond:** The condition is `Programmed`. + * **OpenShift 4.19 and beyond:** The condition is `Programmed`. ```console $ oc wait -n openshift-ingress --for=condition=programmed gateways.gateway.networking.k8s.io demo-gateway gateway.gateway.networking.k8s.io/demo-gateway condition met @@ -321,8 +319,8 @@ You should see a 200 response code. The response will include headers from the a HTTP/1.1 200 OK date: Wed, 05 Nov 2025 15:58:06 GMT server: Apache/2.4.62 (Red Hat Enterprise Linux) OpenSSL/3.2.2 - app: foo content-type: text/html; charset=UTF-8 + app: foo ... ```