You can install Connectivity Link on OpenShift Container Platform clusters to apply authentication, rate limiting, and DNS policies to gateway resources.

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 kuadrant.io/* labels to search and filter resources on the cluster. Do not remove labels with this prefix. Removal might cause unexpected behavior and degradation of Connectivity Link.

Prerequisites
  • 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-admin privileges.

Procedure
  1. In the navigation menu, click Ecosystem > Software Catalog.

  2. In the Filter by keyword text box, enter Connectivity to find the Red Hat Connectivity Link Operator.

  3. Read the information about the Operator, and click Install to display the Operator subscription page.

  4. 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.

  5. Click Install, and wait a few moments until the Operator is installed and ready for use.

  6. Click Ecosystem > Installed Operators > Red Hat Connectivity Link.

  7. Click the Kuadrant tab, and click Create Kuadrant to create a Kuadrant custom resource (CR).

  8. In the Configure via field, click YAML view to edit the definition, for example, the Kuadrant CR name.

  9. Click Create and wait for the deployment to be displayed in the list.

    Note

    If 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.

Verification

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.

Next step
  • Update your Subscription CR to use the OpenShift Container Platform Cluster Ingress Operator.

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 kuadrant.io/* to search and filter resources on the cluster. Removing of any labels with the prefix might cause unexpected behavior and degradation of Connectivity Link.

Prerequisites
  • 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).

Procedure
  1. 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.

  2. Create the Subscription custom 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-marketplace

    Replace <kuadrant_system> with the namespace you created to install Connectivity Link.

    Important

    For disconnected installations, you must replace the spec.source parameter value of the Subscription object with the name of the CatalogSource object created by oc-mirror. You can find the catalog source name by running the following command:

    $ oc get catalogsource -n openshift-marketplace
  3. Apply the Subscription CR by running the following command:

    $ oc apply -f subscription.yaml
  4. Create the OperatorGroup CR by using the following example:

    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: kuadrant
      namespace: <kuadrant_system>
    spec:
      upgradeStrategy: Default

    Replace <kuadrant_system> with the namespace where you are installing Connectivity Link.

  5. Apply the OperatorGroup CR by running the following command:

    $ oc apply -f operatorgroup.yaml
  6. 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=60s

    Expect 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.

  7. 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.

  8. 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
    #...
  9. Apply the Connectivity Link CR by running the following command:

    $ oc apply -f kuadrant.yaml
Verification
  1. 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=300s

    Replace <kuadrant_system> with the namespace where you installed Connectivity Link.

    Example output
    kuadrant.kuadrant.io/kuadrant Ready
  2. 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 output
    NAME                                                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
  3. 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=Failed

    Replace <kuadrant_system> with the namespace where you installed Connectivity Link.

    The output should not show image pull failures.

    Note

    Pod 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 through ImageDigestMirrorSet or ImageTagMirrorSet configuration objects.

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 kuadrant.io/* to search and filter resources on the cluster. Removing of any labels with the prefix might cause unexpected behavior and degradation of Connectivity Link.

Prerequisites
  • 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.

Procedure
  1. 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.

  2. 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
  3. Apply the Subscription CR by running the following command:

    $ oc apply -f kuadrant-system-subscription.yaml
  4. 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=60s

    Expect 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.

  5. 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.

  6. Apply the Kuadrant CR by running the following command:

    $ oc apply -f kuadrant.yaml
Verification
  • 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=300s

    Replace <kuadrant_system> with the namespace you used.

    Example output
    kuadrant.kuadrant.io/kuadrant Ready