Using the Skupper Operator on Kubernetes
The Skupper Operator creates and manages Skupper sites in Kubernetes.
You can install the Operator as described in Installing the Operator using the CLI.
|
Installing an Operator requires administrator-level privileges for your Kubernetes cluster. |
After installing the Operator, you can create a site by deploying a ConfigMap as described in Creating a site using the Skupper Operator
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 Kubernetes cluster.
-
Download the Skupper Operator example files, for example:
$ curl -fL https://github.com/skupperproject/skupper-operator/archive/refs/heads/main.zip
-
Specify the namespace in which you want to install the Operator. You can create a new namespace or switch to an existing one.
-
Create a new namespace if necessary:
$ kubectl create namespace <namespace-name> -
Switch to the namespace in which you want to install the Operator:
$ kubectl config set-context --current --namespace=<namespace-name>
-
-
Create a CatalogSource in the
openshift-marketplacenamespace:$ kubectl apply -f examples/k8s/00-cs.yaml -
Verify the skupper-operator catalog pod is running before continuing:
$ kubectl -n openshift-marketplace get pods | grep skupper-operator -
Create an OperatorGroup in the
my-namespacenamespace:$ kubectl apply -f examples/k8s/10-og.yaml -
Create a Subscription in the
my-namespacenamespace:$ kubectl apply -f examples/k8s/20-sub.yaml -
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 1mIf 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
Creating a site using the Skupper Operator
-
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-namespaceYou 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.yamlas follows:data: console-user: "admin" console-password: "changeme" -
Apply the YAML to create a ConfigMap named
skupper-sitein the namespace you want to use:$ kubectl apply -f skupper-site.yaml -
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 34sIf you deployed the Operator to a single namespace, an additional site controller pod is also running.