Skupper operator that simply produces the bundle and the index images. Its goal is to avoid introducing a new CRD, just relying on the site-controller to kick things off based on an existing skupper-site ConfigMap.
The instructions below demonstrate how to install the skupper-operator
and run it inside the my-namespace
namespace. If you want to install it in
a different namespace, edit the referenced yaml before applying.
If you want to test your catalog against a local minikube cluster, you'll need to install OLM first. For more info, check this out: https://olm.operatorframework.io/docs/getting-started/
In an OpenShift cluster, OLM is already installed.
Skupper Operator is also available on OperatorHub.io.
If the Community Operators
catalog is available in your cluster, you
don't need to install an extra catalog.
To install the latest published version of the Skupper Operator on a Kubernetes cluster where OLM is installed, run:
kubectl create -f https://operatorhub.io/install/skupper-operator.yaml
This procedure installs the Skupper Operator at cluster level (watching all namespaces).
Verify the Skupper Operator is running by executing:
kubectl get csv -n operators
If you want to install the Skupper Operator in a single namespace, follow the Installing on Minikube
or
Installing on OpenShift
sections below.
Otherwise, after the operator has been installed from OperatorHub.io, you can skip the following sections and go straight to Creating a new skupper site
To install the Skupper Operator CatalogSource on your Minikube cluster, run:
# Creating a CatalogSource in the olm namespace
kubectl apply -f examples/k8s/00-cs.yaml
# Wait for the skupper-operator catalog pod to be running
kubectl -n olm get pods | grep skupper-operator
Once the catalog is available, you can then create the subscription:
# Create an OperatorGroup in the `my-namespace` namespace
kubectl apply -f examples/k8s/10-og.yaml
# Create a Subscription in the `my-namespace` namespace
kubectl apply -f examples/k8s/20-sub.yaml
To install the Skupper Operator CatalogSource on your OpenShift cluster, run:
# Creating a CatalogSource in the `openshift-marketplace` namespace
kubectl apply -f examples/ocp/00-cs.yaml
# Wait for the skupper-operator catalog pod to be running
kubectl -n openshift-marketplace get pods | grep skupper-operator
Once the catalog is available, you can then create the subscription:
# Create an OperatorGroup in the `my-namespace` namespace
kubectl apply -f examples/ocp/10-og.yaml
# Create a Subscription in the `my-namespace` namespace
kubectl apply -f examples/ocp/20-sub.yaml
Look at the pods running in your my-namespace
namespace now. You should
see a running pod for the skupper-site-controller
.
kubectl -n my-namespace get pods
NAME READY STATUS RESTARTS AGE
skupper-site-controller-d7b57964-gxms6 1/1 Running 0 39m
Now the Skupper Operator is running and you can create a site.
At this point with most Operators, you would create a CR, however
the Skupper Operator manages your Skupper site by watching a ConfigMap
named skupper-site
in the namespace where it is running
(in this case the my-namespace
namespace).
Create a ConfigMap
named skupper-site
in the my-namespace
namespace:
kubectl apply -f examples/skupper-site-interior.yaml
Once the ConfigMap
is created, Skupper Site Controller will initialize
your Skupper site and you can verify everything is running properly if you
see the skupper-router
and the skupper-service-controller
pods running
in the my-namespace
namespace, in example:
kubectl -n my-namespace get pods
NAME READY STATUS RESTARTS AGE
skupper-prometheus-867f57b89-qpm7w 1/1 Running 0 33s
skupper-router-8c6cc6d76-27562 2/2 Running 0 40s
skupper-service-controller-57cdbb56c5-vc7s2 2/2 Running 0 34s
skupper-site-controller-d7b57964-gxms6 1/1 Running 0 51m
You can now navigate to the Skupper console.
$ skupper -n <namespace> status
The namespace in the example YAML is my-namespace
.
Navigate to the skupper
route and log in using the credentials you specified in YAML. The example YAML uses admin/changeme
.
For more information, visit the official Skupper website
# Delete the skupper-site ConfigMap
kubectl delete -f examples/skupper-site-interior.yaml
# Deleting the Subscription
kubectl delete -f examples/k8s/20-sub.yaml
# Delete the CSV
kubectl -n my-namespace delete csv skupper-operator.v1.8.3
# Deleting the OperatorGroup
kubectl delete -f examples/k8s/10-og.yaml
# Deleting the CatalogSource
kubectl delete -f examples/k8s/00-cs.yaml
# Delete the skupper-site ConfigMap
kubectl delete -f examples/skupper-site-interior.yaml
# Deleting the Subscription
kubectl delete -f examples/ocp/20-sub.yaml
# Delete the CSV
kubectl -n my-namespace delete csv skupper-operator.v1.8.3
# Deleting the OperatorGroup
kubectl delete -f examples/ocp/10-og.yaml
# Deleting the CatalogSource
kubectl delete -f examples/ocp/00-cs.yaml
If you want to try a cluster-wide installation, you don't need
to create the OperatorGroup
as it is already defined at the
destination namespaces, so you just need to create the subscription
at the correct namespaces, see below.
On Minikube the Subscription
needs to be defined in the operators
namespace, like:
kubectl apply -f examples/k8s/20-sub-cluster-wide.yaml
On OpenShift the Subscription
needs to be defined in the openshift-operators
namespace, like:
kubectl apply -f examples/ocp/20-sub-cluster-wide.yaml
To build the bundle and index images, you just need to run: make
.