Install Connectivity Link on OpenShift Container Platform
You can install Connectivity Link on OpenShift Container Platform clusters to apply authentication, rate limiting, and DNS policies to gateway resources.
Install Connectivity Link with the OpenShift Container Platform web console
You can use the OpenShift Container Platform web console to install the Red Hat Connectivity Link Operator. You must perform these steps on each OpenShift Container Platform cluster that you want to use Connectivity Link on.
The OpenShift Container Platform Cluster Ingress Operator is the default gateway controller for Connectivity Link.
An OperatorGroup custom resource (CR) is created automatically when you use the web console. For more information, see Operator Groups.
|
Warning
|
Connectivity Link requires |
-
You are using a supported configuration of OpenShift Container Platform and required components.
-
You are logged into OpenShift Container Platform as a cluster administrator.
-
You are logged into the OpenShift Container Platform web console with
cluster-adminprivileges.
-
In the navigation menu, click Ecosystem > Software Catalog.
-
In the Filter by keyword text box, enter
Connectivityto find the Red Hat Connectivity Link Operator. -
Read the information about the Operator, and click Install to display the Operator subscription page.
-
Select your subscription settings as follows:
-
Update Channel: stable
-
Version: 1.4.1
-
Installation mode: All namespaces on the cluster (default).
-
Installed namespace: Select the namespace where you want to install the Operator, for example, kuadrant-system. If the namespace does not already exist, click this field and select Create Project to create the namespace.
-
Approval Strategy: Select Automatic or Manual.
-
-
Click Install, and wait a few moments until the Operator is installed and ready for use.
-
Click Ecosystem > Installed Operators > Red Hat Connectivity Link.
-
Click the Kuadrant tab, and click Create Kuadrant to create a Kuadrant custom resource (CR).
-
In the Configure via field, click YAML view to edit the definition, for example, the
KuadrantCR name. -
Click Create and wait for the deployment to be displayed in the list.
NoteIf you are using OpenShift Service Mesh, no additional configuration is required. Connectivity Link automatically detects and uses OpenShift Service Mesh as your Gateway object controller.
After you have installed the Operator, click Ecosystem > Installed Operators to verify that the Red Hat Connectivity Link Operator and the following component Operators are installed in your namespace:
-
Authorino Operator: Enables authentication and authorization for gateways and applications in a Gateway API network.
-
DNS Operator: Configures how north-south traffic from outside the network is balanced and reaches gateways.
-
Limitador Operator: Enables rate limiting for gateways and applications in a Gateway API network.
-
Update your Subscription CR to use the OpenShift Container Platform Cluster Ingress Operator.
Install Connectivity Link on OpenShift Container Platform from the CLI
You can install Connectivity Link with OpenShift CLI (oc) using the OpenShift Container Platform Cluster Ingress Operator as the default Gateway object controller. You must complete these steps on each OpenShift Container Platform cluster that you want to use Connectivity Link on.
|
Warning
|
Connectivity Link uses labels formatted as |
-
You are logged into OpenShift Container Platform as a cluster administrator.
-
You are using a supported configuration of OpenShift Container Platform and required components.
-
You installed the OpenShift CLI (
oc).
-
Create the namespace where you want to install Connectivity Link by running the following command:
$ oc create ns <kuadrant_system>You can replace the default
<kuadrant_system>with the namespace you want to use. -
Create the
Subscriptioncustom resource (CR) by using the following example:apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: rhcl-operator namespace: <kuadrant_system> spec: channel: stable installPlanApproval: Automatic name: rhcl-operator source: redhat-operators sourceNamespace: openshift-marketplaceReplace
<kuadrant_system>with the namespace you created to install Connectivity Link.ImportantFor disconnected installations, you must replace the
spec.sourceparameter value of theSubscriptionobject with the name of theCatalogSourceobject created byoc-mirror. You can find the catalog source name by running the following command:$ oc get catalogsource -n openshift-marketplace -
Apply the
SubscriptionCR by running the following command:$ oc apply -f subscription.yaml -
Create the
OperatorGroupCR by using the following example:apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: kuadrant namespace: <kuadrant_system> spec: upgradeStrategy: DefaultReplace
<kuadrant_system>with the namespace where you are installing Connectivity Link. -
Apply the
OperatorGroupCR by running the following command:$ oc apply -f operatorgroup.yaml -
Confirm that the Connectivity Link installation has finished by running one of the following commands:
$ oc wait --for=jsonpath={.status.installPlanRef.name} subscription rhcl-operator --timeout=10s ip=$(oc get subscription rhcl-operator -o=jsonpath={.status.installPlanRef.name})$ oc wait --for=condition=Installed installplan ${ip} --timeout=60sExpect the status of
installplan.operators.coreos.com/install-<suffix>when Connectivity Link is ready. The name of the install plan has a random suffix, for example,4rql7. -
Create your Connectivity Link CR by using the following example:
apiVersion: kuadrant.io/v1beta1 kind: Kuadrant metadata: name: kuadrant namespace: <kuadrant_system> spec: {}Replace
<kuadrant_system>with the namespace where you installed Connectivity Link. -
Optional. If you have a Red Hat Developer Hub subscription, enable the Red Hat Developer Hub plugin by using the following example:
apiVersion: kuadrant.io/v1beta1 kind: Kuadrant metadata: #... spec: components: developerPortal: enabled: true #... -
Apply the Connectivity Link CR by running the following command:
$ oc apply -f kuadrant.yaml
-
Check the status of the Connectivity Link CR generation by running the following command:
$ oc wait kuadrant/kuadrant --for="condition=Ready=true" -n <kuadrant_system> --timeout=300sReplace
<kuadrant_system>with the namespace where you installed Connectivity Link.Example outputkuadrant.kuadrant.io/kuadrant Ready -
Verify that all component Operator pods are running by entering the following command:
$ oc get pods -n <kuadrant_system>Replace
<kuadrant_system>with the namespace where you installed Connectivity Link.Example outputNAME READY STATUS RESTARTS AGE authorino-operator-controller-manager-<hash> 2/2 Running 0 5m dns-operator-controller-manager-<hash> 2/2 Running 0 5m kuadrant-operator-controller-manager-<hash> 2/2 Running 0 7m limitador-operator-controller-manager-<hash> 2/2 Running 0 5m -
For a disconnected installation, verify that there are no image pull errors by running the following command:
$ oc get events -n <kuadrant_system> --field-selector reason=FailedReplace
<kuadrant_system>with the namespace where you installed Connectivity Link.The output should not show image pull failures.
NotePod specifications still show original the image references, for example,
registry.redhat.io/redhat/…, even when images are pulled from your mirror registry. The redirection happens transparently at the CRI-O level throughImageDigestMirrorSetorImageTagMirrorSetconfiguration objects.
Install Connectivity Link on OpenShift Container Platform from the CLI with Istio as the Gateway controller
If you are using OpenShift Service Mesh, you can install Connectivity Link with OpenShift CLI (oc) using Istio as your Gateway object controller. You must complete these steps on each OpenShift Container Platform cluster that you want to use Connectivity Link on.
|
Warning
|
Connectivity Link uses labels formatted as |
-
You are logged into OpenShift Container Platform as a cluster administrator.
-
You are using a supported configuration of OpenShift Container Platform and required components.
-
You installed the OpenShift CLI (
oc). -
You installed and configured OpenShift Service Mesh.
-
Create the namespace where you want to install Connectivity Link by running the following command:
$ oc create ns <kuadrant_system>You can replace the default
<kuadrant_system>with the namespace you want to use. -
Install Connectivity Link by running the following command:
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: rhcl-operator namespace: kuadrant-system spec: channel: stable installPlanApproval: Automatic name: rhcl-operator source: redhat-operators sourceNamespace: openshift-marketplace config: env: - name: ISTIO_GATEWAY_CONTROLLER_NAMES value: istio.io/gateway-controller --- kind: OperatorGroup apiVersion: operators.coreos.com/v1 metadata: name: kuadrant namespace: kuadrant-system spec: upgradeStrategy: Default -
Apply the
SubscriptionCR by running the following command:$ oc apply -f kuadrant-system-subscription.yaml -
Confirm that the Connectivity Link installation has finished by running one of the following commands:
$ oc wait --for=jsonpath={.status.installPlanRef.name} subscription rhcl-operator --timeout=10s ip=$(oc get subscription rhcl-operator -o=jsonpath={.status.installPlanRef.name})$ oc wait --for=condition=Installed installplan ${ip} --timeout=60sExpect the status of
installplan.operators.coreos.com/install-<suffix>when Connectivity Link is ready. The name of the install plan has a random suffix, for example,4rql7. -
Create your Connectivity Link custom resource (CR) by running the following command:
apiVersion: kuadrant.io/v1beta1 kind: Kuadrant metadata: name: kuadrant namespace: <kuadrant_system>Replace
<kuadrant_system>with the namespace you used. -
Apply the
KuadrantCR by running the following command:$ oc apply -f kuadrant.yaml
-
Check the status of the Connectivity Link CR generation by running the following command:
$ oc wait kuadrant/kuadrant --for="condition=Ready=true" -n <kuadrant_system> --timeout=300sReplace <kuadrant_system> with the namespace you used.
Example outputkuadrant.kuadrant.io/kuadrant Ready