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.
- User authorized with
cluster-admin
permissions.
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
- Use the built-in Makefile targets to build and push your operator. Make sure to define
IMG
when you callmake
:
export OPERATOR_IMG="quay.io/example/memcached-operator:v0.0.1"
make docker-build docker-push IMG=$OPERATOR_IMG
OLM deployment
- Install OLM:
operator-sdk olm install
- Bundle your operator and push the bundle image:
make bundle IMG=$OPERATOR_IMG
# Note the "-bundle" component in the image name below.
export BUNDLE_IMG="quay.io/example/memcached-operator-bundle:v0.0.1"
make bundle-build BUNDLE_IMG=$BUNDLE_IMG
make docker-push IMG=$BUNDLE_IMG
- Run your bundle:
operator-sdk run bundle $BUNDLE_IMG
- 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=$OPERATOR_IMG
- 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 walkthough of building a Ansible operator.
Last modified January 20, 2021: Updates to the tutorial docs (#4395) (160cd9f6)
当前内容版权归 Operator SDK 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 Operator SDK .