Skip to main content
Redhat Developers  Logo
  • Products

    Featured

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat OpenShift AI
      Red Hat OpenShift AI
    • Red Hat Enterprise Linux AI
      Linux icon inside of a brain
    • Image mode for Red Hat Enterprise Linux
      RHEL image mode
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • Red Hat Developer Hub
      Developer Hub
    • View All Red Hat Products
    • Linux

      • Red Hat Enterprise Linux
      • Image mode for Red Hat Enterprise Linux
      • Red Hat Universal Base Images (UBI)
    • Java runtimes & frameworks

      • JBoss Enterprise Application Platform
      • Red Hat build of OpenJDK
    • Kubernetes

      • Red Hat OpenShift
      • Microsoft Azure Red Hat OpenShift
      • Red Hat OpenShift Virtualization
      • Red Hat OpenShift Lightspeed
    • Integration & App Connectivity

      • Red Hat Build of Apache Camel
      • Red Hat Service Interconnect
      • Red Hat Connectivity Link
    • AI/ML

      • Red Hat OpenShift AI
      • Red Hat Enterprise Linux AI
    • Automation

      • Red Hat Ansible Automation Platform
      • Red Hat Ansible Lightspeed
    • Developer tools

      • Red Hat Trusted Software Supply Chain
      • Podman Desktop
      • Red Hat OpenShift Dev Spaces
    • Developer Sandbox

      Developer Sandbox
      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Secure Development & Architectures

      • Security
      • Secure coding
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
      • View All Technologies
    • Start exploring in the Developer Sandbox for free

      sandbox graphic
      Try Red Hat's products and technologies without setup or configuration.
    • Try at no cost
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • Java
      Java icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • API Catalog
    • Product Documentation
    • Legacy Documentation
    • Red Hat Learning

      Learning image
      Boost your technical skills to expert-level with the help of interactive lessons offered by various Red Hat Learning programs.
    • Explore Red Hat Learning
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

Getting started with Red Hat Connectivity Link on OpenShift

June 12, 2024
Bernard Tison
Related topics:
APIsDevOpsIntegrationKubernetes
Related products:
Red Hat OpenShiftRed Hat Service InterconnectRed Hat Connectivity Link

Share:

    Red Hat Connectivity Link is a new offering from Red Hat, which brings a Kubernetes/Red Hat OpenShift native solution for complex application connectivity and API management in hybrid and multi-cloud environments. Connectivity Link is based on the upstream Kuadrant project and was released as a Developer Preview at Red Hat Summit 2024, with the goal of going GA in the fall of 2024.

    In this article, I will demonstrate how to get started with Connectivity Link on Red Hat OpenShift. Connectivity Link is not limited to OpenShift, and can be installed and used on other Kubernetes distributions like EKS. However, the installation is much simpler on OpenShift as the required operators can be installed and managed through the Operator Lifecycle Manager (OLM).

    Prerequisites

    The first prerequisite is a OpenShift cluster running on AWS. An excellent article on how to install a single-node OpenShift on AWS was recently published on Red Hat Developer. Note that a GPU is not required for Connectivity Link, so a general-purpose EC2 instance type with 32 or 64GB of RAM is sufficient for the getting started experience. If you prefer to install OpenShift on bare metal or a virtualized environment, you can refer to this article.

    The second prerequisite is access to a DNS domain (called a hosted zone in AWS Route53), different from the domain used for the OpenShift cluster. 

    If you followed the instructions to install a single node OpenShift on AWS, the OpenShift cluster will use subdomains of your AWS top domain (typically api.<AWS top domain> for the cluster API server, and *.apps.<AWS top domain> for the applications running on the OpenShift cluster). 

    In AWS Route53 you can add another hosted zone as a subdomain (for example, managed.<AWS top domain>) for the applications that you want to manage and secure with Connectivity Link. Refer to the the AWS documentation on Route53 for instructions on how to setup the hosted zone. You will have to create NS records in the top domain hosted zone in order to be able to route traffic to the subdomain, as explained in this article. 

    If you are using a bare metal or virtualized OpenShift instance, you will need access to a hosted zone on AWS Route53 to use the DNS routing functionalities provided by Connectivity Link.

    Install Connectivity Link

    For the installation of Connectivity Link on Red Hat OpenShift, you can follow the steps as outlined in the upstream Kuadrant documentation, with some minor differences.

    The rate limiting functionality provided by Connectivity Link can use a shared Redis instance to provide global rate limiting counters in a multi-cluster environment. However, if you are getting started with only one cluster, the Redis instance is optional (counters will be stored in memory). This simplifies the setup. In that case, you don't need to create a secret for the Redis credentials, and you can omit the Redis configuration in the Kuadrant Custom Resource:

    apiVersion: kuadrant.io/v1beta1
    kind: Kuadrant
    metadata:
      name: kuadrant
      namespace: kuadrant-system
    spec: {}

    Secure, protect, and connect APIs with Connectivity Link

    Once you have installed the Connectivity Link operators, you can proceed with the instructions in the Secure, protect, and connect APIs with Kuadrant on OpenShift section of the upstream documentation.

    We can make a distinction between the platform engineering workflow and the application developer/owner workflow. In this scenario, the platform engineer sets up the cluster-wide resources like the ingress Gateway, global auth policy and rate limiting, and observability stack, while the application developer/owner would create application specific resources such as an HTTPRoute for the application and application specific auth policy and rate limiting.

    When following the instructions in the upstream documentation, take note of the following points:

    • The managed zone corresponds to the hosted zone that you created for Connectivity Link (ex: managed.<AWS top domain>). The ID of the hosted zone can be obtained from the AWS Route53 console. The rootdomain environment variable should be set to the domain name of the hosted zone used for Connectivity Link.
    • If your OpenShift cluster is installed on AWS, you can use Let's Encrypt as TLS certificate provider. The example given in the documentation uses the staging environment of Let's Encrypt. If your cluster is installed on bare metal or a virtual machine, you can use self-signed certificates provided by the cert manager operator installed as part of the Connectivity Link installation. In this case the TLS issuer should look like:

      apiVersion: cert-manager.io/v1
      kind: ClusterIssuer
      metadata:
        name: kuadrant-ca
      spec:
        selfSigned: {}
    • The upstream documentation for Connectivity Link on OpenShift shows how HTTPRoute and AuthPolicy Custom Resources can be created by using Kuadrant specific extensions in an OpenAPI spec document. As an alternative, you can also create the Custom Resources directly, without using the kuadrantctl CLI. You will find examples of these Custom Resources here and here.

    Where to go from here

    At this point, you have installed Red Hat Connectivity Link on a single OpenShift cluster, and onboarded an application to be managed, secured and protected with Connectivity Link. As a suggested next step, you could, for instance, repeat the setup on a second cluster and experiment with geo-based routing.

    If you want to dig deeper into concepts and architecture of Connectivity Link, the upstream documentation goes into great detail about these topics. 

    Related Posts

    • How to install single node OpenShift on AWS

    • Using Kuadrant Gateway API policies with Gatekeeper policies

    • Packaging APIs for consumers with Red Hat 3scale API Management

    • Integration of API management details (Part 4)

    • Deploying Kubernetes Operators with Operator Lifecycle Manager bundles

    • How to debug OpenShift operators on a live cluster using dlv

    Recent Posts

    • More Essential AI tutorials for Node.js Developers

    • How to run a fraud detection AI model on RHEL CVMs

    • How we use software provenance at Red Hat

    • Alternatives to creating bootc images from scratch

    • How to update OpenStack Services on OpenShift

    What’s up next?

    Operators make it easier to automate the lifecycle of complex, stateful programs by adding application-specific skills to a Kubernetes cluster. Read Kubernetes Operators for realistic examples that show you how Operators work and how to build them with the Operator Framework and SDK.

    Get the e-book
    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Products

    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue