Apicurio Registry Operator provides a quick and easy way to deploy and manage Apicurio Registry on Kubernetes or OpenShift.
The Apicurio Registry Operator supports the following platform versions:
Platform | Required version |
---|---|
Kubernetes |
1.19+ |
OpenShift |
4.6+ |
-
Docker
-
go v1.14+ (with
export GO111MODULE='on'
,$GOPATH
and$GOROOT
) -
Operator SDK v1.4+
-
A running Kubernetes (Minikube) or OpenShift (Minishift) cluster with system admin access
This section explains how to quickly install development version of the Apicurio Registry Operator on the command line.
Note
|
The recommended installation option for non-development environments is OperatorHub.io. The recommended storage options are SQL or Kafka. Please visit the latest Apicurio Registry and Operator documentation. |
-
Prepare your Kubernetes or OpenShift cluster. If you are using Minikube, run:
minikube addons enable ingress
-
Build the latest distribution bundle:
make dist
NoteRun make
without any parameters to get a help message. -
Follow the instructions in
./dist/README.adoc
file.
This section explains how to build Apicurio Registry Operator on your own and deploy it for testing and development.
-
Prepare your Kubernetes or OpenShift cluster. If you are using Minikube, run:
minikube addons enable ingress
NoteRun export CLIENT="oc"
if you are deploying to OpenShift. -
Choose a namespace where the Operator will be deployed:
export NAMESPACE="apicurio-registry-operator-namespace" kubectl create namespace "$NAMESPACE"
-
Choose a Docker registry where to push the operator images that you build, e.g.
quay.io/foo
:export OPERATOR_IMAGE_REPOSITORY="quay.io/foo"
-
The following command will build the operator image, push it into your registry, and deploy it the selected namespace in your cluster.
make build docker-push deploy
-
To remove the operator from your cluster, run:
make undeploy
After the Apicurio Registry Operator has been deployed, it can deploy an Apicurio Registry instance.
-
To create a new Apicurio Registry deployment, the fastest way is to use one of the example
ApicurioRegistry
custom resources:cat config/examples/resources/apicurioregistry_mem_cr.yaml | kubectl apply -f - -n "$NAMESPACE"
-
Optionally, build the latest distribution bundle that contains additional examples:
make dist
-
Verify that your Apicurio Registry deployment is healthy (for Minikube). Find out the hostname of the deployed Apicurio Registry:
kubectl get ingress -n "$NAMESPACE" export HOSTNAME="..." ./hack/modify_etc_hosts.sh "$HOSTNAME"
and issue a request to the metrics endpoint:
curl "http://$HOSTNAME/health"
NoteThe in-memory deployment is not suitable for production. We recommend using SQL or Kafka persistence options for that. See the documentation for more information.
Create an issue on GitHub if you find any problems.
You can find more information on the Apicurio website.