Click on the "Install" button and follow the instructions.
Using Deploy script (Alternative)
You can also install the operator using a release script, downloadable as an asset with each release.
Either:
Download the script, install.sh, manually and run it in a shell.
Run the script directly in bash:
OP_VERSION=0.2.1 # specify the intended version here
bash <(curl -L https://github.com/xrootd/xrootd-k8s-operator/releases/download/$OP_VERSION/install.sh)
Run make manager to locally build operator binary and make run to run it against the configured Kubernetes cluster.
Run make build to build operator image from scratch and loads it in the k8s cluster.
The build command can be configured with the cluster's name and provider to target where the built operator image will be loaded. Set the following environment variables:
CLUSTER_PROVIDER=(kind/k3s/minishift)
CLUSTER_NAME=<cluster name>
Install operator
Run make deploy to deploy the operator image in the cluster, along with applying the required roles, service accounts etc.
To uninstall the CRDs, run make uninstall. To cleanup everything, including the operator deployment, run make undeploy.
Bundle
Xrootd Operator is integrated with OLM and configured to use Bundle format.
To generate OLM CSV manifests and bundle metadata, run make bundle.
To build the operator bundle image, run make bundle-build.
Testing
Unit Tests: Run the unit tests with make test.
Integration Tests: Run the suite of e2e tests with make test-e2e.
OpenShift Cluster
For local development, it's recommended to use CodeReady Containers since it supports Openshift v4+. Minishift is a suitable alternative, however it only supports till OpenShift v3.
To test operator via scripted approach, make deploy works.
To test operator using OLM, follow testing guide for deployment using custom images.
NOTE:
Minishift uses Kubernetes v1.11.x, so it only supports till OLM v0.14.x (because later OLM versions uses apiextensions.k8s.io/v1 for CRD manifests)
Usage
Make sure the xrootd-operator is up and runnning in your K8S cluster (otherwise follow Installation/Development steps):
To check the status, run kubectl describe pod -l name=xrootd-operator
Example manifests to deploy Xrootd instance are at manifests folder.
To apply any manifest, simply use kubectl apply:
For example, to apply base sample manifest, run kubectl apply -k manifests/base