Quickstart for Ansible-based Operators
A simple set of instructions to set up and run an Ansible-based operator.
	This guide walks through an example of building a simple memcached-operator powered by Ansible using tools and libraries provided by the Operator SDK.
Prerequisites
- Go through the installation guide.
- Make sure your user is authorized with cluster-adminpermissions.
- Have an accessible image registry for various operator images (ex. hub.docker.com,
quay.io) and be logged in to your command line environment.
- example.comis used as the registry Docker Hub namespace in these examples. Replace it with another value if using a different registry or namespace.
- Authentication and certificates if the registry is private or uses a custom CA.
 
Steps
- Create a project directory for your project and initialize the project:
mkdir memcached-operator
cd memcached-operator
operator-sdk init --domain example.com --plugins ansible
- Create a simple Memcached API:
operator-sdk create api --group cache --version v1alpha1 --kind Memcached --generate-role
- Build and push your operator’s image:
make docker-build docker-push IMG="example.com/memcached-operator:v0.0.1"
OLM deployment
- Install OLM:
operator-sdk olm install
- Bundle your operator, then build and push the bundle image (defaults to example.com/memcached-operator-bundle:v0.0.1):
make bundle IMG="example.com/memcached-operator:v0.0.1"
make bundle-build bundle-push
- Run your bundle. If your bundle image is hosted in a registry that is private and/or has a custom CA, these configuration steps must be complete.
operator-sdk run bundle example.com/memcached-operator-bundle:v0.0.1
- Create a sample Memcached custom resource:
$ kubectl apply -f config/samples/cache_v1alpha1_memcached.yaml
memcached.cache.example.com/memcached-sample created
- Uninstall the operator:
operator-sdk cleanup memcached-operator
Direct deployment
- Deploy your operator:
make deploy IMG="example.com/memcached-operator:v0.0.1"
- Create a sample Memcached custom resource:
$ kubectl apply -f config/samples/cache_v1alpha1_memcached.yaml
memcached.cache.example.com/memcached-sample created
- Uninstall the operator:
make undeploy
Next Steps
Read the full tutorial for an in-depth walkthrough of building an Ansible operator.
Last modified July 5, 2022: Fix typos, sentence structures, punctuation (#5913) (62cbecc5)