Once you’ve made your operator available in a catalog, or you’ve chosen an operator from an existing catalog, you can install your operator by creating a Subscription to a specific channel.
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: <name-of-your-subscription> namespace: <namespace-you-want-your-operator-installed-in> spec: channel: <channel-you-want-to-subscribe-to> name: <name-of-your-operator> source: <name-of-catalog-operator-is-part-of> sourceNamespace: <namespace-that-has-catalog>
For example, if you want to install an operator named
my-operator, from a catalog named
my-catalog that is in the namespace
olm, and you want to subscribe to the channel
stable, your subscription yaml would look like this:
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: subs-to-my-operator namespace: olm spec: channel: stable name: my-operator source: my-catalog sourceNamespace: olm
Once you have the subscription yaml,
kubectl apply -f Subscription.yaml to install your operator.
You can inspect your Subscription with
kubectl get subs <name-of-your-subscription> -n <namespace>.
To ensure the operator installed successfully, check for the ClusterServiceVersion and the operator deployment in the namespace it was installed in.
$ kubectl get csv -n <namespace-operator-was-installed-in> NAME DISPLAY VERSION REPLACES PHASE <name-of-csv> <operator-name> <version> <csv-of-previous-version> Succeeded
$ kubectl get deployments -n <namespace-operator-was-installed-in> NAME READY UP-TO-DATE AVAILABLE AGE <name-of-your-operator> 1/1 1 1 9m48s
If the ClusterServiceVersion fails to show up or does not reach the
Succeeded phase, please check the troubleshooting documentation) to debug your installation.