This guide uses minishift version v1.33.0+ as the local Kubernetes cluster
and quay.io for the public registry. We also test on minikube version v0.35+.
kubectl
is used but can be substituted* with oc
.
- OKD
- Experimental: 3.11
- OpenShift® Container Platform
- Fully supported: 4.0
- Experimental: 3.11
- kubernetes
- Experimental: 1.11-1.13
Note: Experimental tag refers to some workloads that might be functioning
The main requirements are as follows:
- Running Kubernetes cluster - supported versions
- kubectl
- git
Note: Please login as admin user
The following requirements are needed to make/test changes to operator:
Note: You also require a quay account to push images
The following optional requirements are needed if using OKD/OCP < 4.0:
The workloads could also have their own requirements which would be specified in the installation guide.
Note: The benchmark-operator's code-name is ripsaw, so the names have been used interchangeably.
Note: If you're on a vanilla k8s distribution, then you can also deploy Ripsaw through operatorhub.io, please check ripsaw in operatorhub for more details.
First we'll need to clone the operator:
# git clone https://github.com/cloud-bulldozer/ripsaw
# cd ripsaw
# export KUBECONFIG=<your_kube_config> # if not already done
We try to maintain all resources created/required by ripsaw in the namespace my-ripsaw
,
as this would be the namespace, ripsaw would be installed into if deployed through operatorhub.io.
Note: But in case you've a specific usecase where you want the resources to be in a different namespace, you'll just need to edit the namespace in deploy/ as well as the operator definition.
But for sake of the documentation, let's proceed with the namespace my-ripsaw
so we'll create the namespace as follows
# kubectl apply -f resources/namespace.yaml
or if you're used to oc
it'd be oc new-project my-ripsaw
and oc project my-ripsaw
We'll now apply the permissions and operator definitions.
# kubectl apply -f deploy
# kubectl apply -f resources/crds/ripsaw_v1alpha1_ripsaw_crd.yaml
# kubectl apply -f resources/operator.yaml
Now that we've deployed our operator, follow workload specific instructions to run workloads:
If you want to add a new workload please follow these instructions to submit a PR
Now that we're running workloads we can cleanup by running following commands
# kubectl delete -f <your_cr_file>
# kubectl delete -f resources/crds/ripsaw_v1alpha1_ripsaw_crd.yaml
# kubectl delete -f resources/operator.yaml
# kubectl delete -f deploy