Using the Skupper Operator on OpenShift

Red Hat Application Interconnect 1.0

For Use with Application Interconnect 1.0 LIMITED AVAILABILITY

Abstract

This guide describes how to use the Skupper operator.

Preface

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see our CTO Chris Wright’s message.

Note

This Limited Availability release is not available to all customers. Contact Red Hat Sales if you are interested in learning more about Application Interconnect.

The Skupper Operator creates and manages Application Interconnect sites in OpenShift.

You can install the Operator as described in Chapter 1, Installing the Operator using the CLI.

Note

Installing an Operator requires administrator-level privileges for your OpenShift cluster.

After installing the Operator, you can create a site by deploying a ConfigMap as described in Chapter 2, Creating a site using the Skupper Operator

Chapter 1. Installing the Operator using the CLI

The steps in this section show how to use the kubectl command-line interface (CLI) to install and deploy the latest version of the Skupper Operator in a given OpenShift cluster.

Procedure

  1. Download the Skupper Operator example files, for example:

    $ curl -fL https://github.com/skupperproject/skupper-operator/archive/refs/heads/main.zip
  1. Specify the namespace in which you want to install the Operator. You can create a new namespace or switch to an existing one.

    1. Create a new namespace if necessary:

      $ kubectl create namespace  <namespace-name>
    2. Switch to the namespace in which you want to install the Operator:

      $ kubectl config set-context --current --namespace=<namespace-name>
  2. Create a CatalogSource in the openshift-marketplace namespace:

    $ kubectl apply -f examples/ocp/00-cs.yaml
  3. Make sure the skupper-operator catalog pod is running before continuing:

    $ kubectl -n openshift-marketplace get pods | grep skupper-operator
  4. Create an OperatorGroup in the my-namespace namespace:

    $ kubectl apply -f examples/ocp/10-og.yaml
  5. Create a Subscription in the my-namespace namespace:

    $ kubectl apply -f examples/ocp/20-sub.yaml
  6. Verify that the Operator is running:

    $ kubectl get pods -n my-namespace
    
    NAME                                     READY   STATUS    RESTARTS   AGE
    skupper-site-controller-d7b57964-gxms6   1/1     Running   0          1m

    If the output does not report the pod is running, use the following command to determine the issue that prevented it from running:

    $ kubectl describe pod -l name=skupper-operator

Chapter 2. Creating a site using the Skupper Operator

  1. Create a YAML file defining the ConfigMap of the site you want to create.

    For example, create skupper-site.yaml:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: skupper-site
      namespace: my-namespace

    You can later retrieve the console credentials as described in Using the Skupper console or specify them now by adding the username and optionally the password to skupper-site.yaml as follows:

    data:
      console-user: "admin"
      console-password: "changeme"
  2. Apply the YAML to create a ConfigMap named skupper-site in the namespace you want to use:

    $ kubectl apply -f skupper-site.yaml
  3. Verify that the site is created by checking that the Skupper router and service controller pods are running:

    $ kubectl get pods
    
    NAME                                          READY   STATUS    RESTARTS   AGE
    skupper-router-8c6cc6d76-27562                1/1     Running   0          40s
    skupper-service-controller-57cdbb56c5-vc7s2   1/1     Running   0          34s
    Note

    If you deployed the Operator to a single namespace, an additional site controller pod is also running.

Revised on 2022-06-24 16:33:47 UTC

Legal Notice

Copyright © 2022 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.