Quickstart for Go-based Operators

    • Go through the installation guide.
    • User authorized with permissions.
    • An accessible image registry for various operator images (ex. , quay.io) and be logged in your command line environment.
      • example.com is used as the registry Docker Hub namespace in these examples. Replace it with another value if using a different registry or namespace.
      • if the registry is private or uses a custom CA.
    1. Create a simple Memcached API:
    1. operator-sdk create api --group cache --version v1alpha1 --kind Memcached --resource --controller
    1. Build and push your operator’s image:
    1. make docker-build docker-push IMG="example.com/memcached-operator:v0.0.1"
    1. Install OLM:
    1. operator-sdk olm install
    1. Bundle your operator, then build and push the bundle image (defaults to ):
    1. Run your bundle. If your bundle image is hosted in a registry that is private and/or has a custom CA, these must be complete.
    1. operator-sdk run bundle <some-registry>/memcached-operator-bundle:v0.0.1
    1. Create a sample Memcached custom resource:
    1. $ kubectl apply -f config/samples/cache_v1alpha1_memcached.yaml
    1. Uninstall the operator:
    1. operator-sdk cleanup memcached-operator
    1. Deploy your operator:
    1. Create a sample Memcached custom resource:
    1. memcached.cache.example.com/memcached-sample created
    1. Uninstall the operator:
    1. make undeploy
    1. Run the operator:
    1. make install run
    1. In a new terminal tab/window, create a sample Memcached custom resource: