Installing Service Binding Operator
This document walks you through the steps to install Service Binding Operator on OpenShift cluster and Kubernetes cluster.
Why do I need the Service Binding Operator?
odo uses Service Binding Operator to provide the
odo link feature which helps connect an odo component to a service or another component.
Installing Service Binding Operator on OpenShift
To install Service Binding Operator on OpenShift, refer the documentation on docs.openshift.com.
Installing Service Binding Operator on Kubernetes
Before installing an Operator, we first need to enable the Operator Lifecycle Manager (OLM).
If you are using minikube, please install OLM by doing:
$ curl -sL https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v0.17.0/install.sh | bash -s v0.17.0
This will install OLM v0.17.0 (latest at the time of writing this)
To install OLM on a Kubernetes cluster setup other than minikube, please refer the installation instructions on GitHub.
Now, to install the Service Binding Operator, execute the following
kubectl command provided on its OperatorHub.io page:
$ kubectl create -f https://operatorhub.io/install/service-binding-operator.yaml
Making sure that Service Binding Operator installed successfully on Kubernetes
One way to make sure that the Operator installed properly is to verify that its pod started and is in “Running” state (note that you will have to specify the namespace where you installed Service Binding Operator in earlier step, and the pod name will be different in your setup than what’s shown in below output):
$ kubectl get pods --namespace operators NAME READY STATUS RESTARTS AGE service-binding-operator-6b7c654c89-rg9gq 1/1 Running 0 15m
Another aspect to check is output of below command as suggested in the Operator’s installation instruction:
$ kubectl get csv -n operators
If you see the value under
PHASEcolumn to be anything other than
Succeeded, please take a look at the pods in
olmnamespace and ensure that the pod starting with the name
$ kubectl get pods -n olm NAME READY STATUS RESTARTS AGE operatorhubio-catalog-x24dq 0/1 CrashLoopBackOff 6 9m40s
If you see output like above where the pod is in
CrashLoopBackOffstate or any other state other than
Running, delete the pod (note that exact name of the pod will be different on your cluster):
$ kubectl delete pods -n olm operatorhubio-catalog-x24dq