OLM Integration Bundle Quickstart
The Operator Lifecycle Manager (OLM) is a set of cluster resources that manage the lifecycle of an Operator. The Operator SDK supports both creating manifests for OLM deployment, and testing your Operator on an OLM-enabled Kubernetes cluster.
This document is intended to quickly walk through the steps to generate an OLM bundle. For further explanation, or if you’re using package manifests, see the Bundle Tutorial.
Important: this guide assumes your project was scaffolded with
operator-sdk init --project-version=3.
These features are unavailable to projects of version
2 or less; this information can be found by inspecting
- Have a working operator that you have uploaded to a container registry. This guide assumes the simple Golang Memcached operator from the building operators section at version
- Make sure your user is authorized with
- Have OLM installed on your cluster. The command
operator-sdk olm installwill attempt to install a basic OLM deployment on your cluster.
- Export environment variables
$ export USERNAME=<container-registry-username>
$ export VERSION=0.0.1
$ export IMG=docker.io/$USERNAME/memcached-operator:v$VERSION // location where your operator image is hosted
$ export BUNDLE_IMG=docker.io/$USERNAME/memcached-operator-bundle:v$VERSION // location where your bundle will be hosted
- Create a bundle from the root directory of your project
$ make bundle
This will prompt you to enter basic information about your operator.
- Build and push the bundle image
$ make bundle-build bundle-push
- Validate the bundle
$ operator-sdk bundle validate $BUNDLE_IMG
- Install the bundle with OLM
$ operator-sdk run bundle $BUNDLE_IMG
Read the full tutorial for a more in-depth look at creating and using a bundle.