We are happy to introduce the Koor Operator, a method to manage and install the Koor Storage Distro.
Using the Koor Operator will make maintaining and installing your KSD installation easier. This will help you install a full-fledged Koor Storage Distro (with all Rook-Ceph artifacts) in just 2 lines of helm install.
Installing using Helm
To get started, you can install the Koor Operator using helm, using the following command:
1
2
| helm repo add koor-operator https://koor-tech.github.io/koor-operator
helm install --create-namespace --namespace koor-operator my-release koor-operator/koor-operator -f values.yaml
|
The cluster should be ready in a few minutes. You can check the status using this kubectl
command:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| $ kubectl get --namespace koor-operator pods
NAME READY STATUS RESTARTS AGE
csi-cephfsplugin-86b5g 2/2 Running 0 16m
csi-cephfsplugin-927rd 2/2 Running 0 16m
csi-cephfsplugin-provisioner-df5577568-7xng6 5/5 Running 0 16m
csi-cephfsplugin-provisioner-df5577568-gzmjv 5/5 Running 0 16m
csi-cephfsplugin-st679 2/2 Running 0 16m
csi-rbdplugin-5g529 2/2 Running 0 16m
csi-rbdplugin-gwqwg 2/2 Running 0 16m
csi-rbdplugin-ljskq 2/2 Running 0 16m
csi-rbdplugin-provisioner-65cfc5bdf9-dcg4w 5/5 Running 0 16m
csi-rbdplugin-provisioner-65cfc5bdf9-wt8fq 5/5 Running 0 16m
koor-operator-cert-manager-755849665f-dvncg 1/1 Running 0 24m
koor-operator-cert-manager-cainjector-576f685f87-9qv87 1/1 Running 0 24m
koor-operator-cert-manager-webhook-86cbd54d59-72hnm 1/1 Running 0 24m
koor-operator-controller-manager-7d68cb8b6c-qxs4h 2/2 Running 0 24m
koor-operator-koorcluster-job-bmvzp 0/1 Completed 5 24m
rook-ceph-mon-a-canary-6b784678f7-fbr4h 2/2 Running 0 45s
rook-ceph-mon-b-canary-6fb58fc9dd-4wvqq 2/2 Running 0 45s
rook-ceph-mon-c-canary-5cc8b55d55-z7tdv 2/2 Running 0 45s
rook-ceph-operator-8f76cf848-2j2nv 1/1 Running 0 21m
rook-ceph-tools-7585487b84-6br42 1/1 Running 0 21m
|
The Koor Operator uses sane defaults that help you bootstrap your KSD cluster quickly. It is also configurable:
1
2
3
4
5
6
| koorCluster:
spec:
useAllDevices: true # Use all devices on all nodes. Default is true.
monitoringEnabled: true # Enable monitoring. Requires Prometheus to be pre-installed.Default is true.
dashboardEnabled: true # Enable the ceph dashboard for viewing cluster status. Default is true.
toolboxEnabled: true # Installs a debugging toolbox deployment. Default is true
|
How it works
The operator currently installs KSD using helm on your local cluster.
Installing the operator is equivalent to the following commands:
1
2
3
4
| helm repo add koor-release https://charts.koor.tech/release
helm install --create-namespace --namespace <namespace> <namespace>-rook-ceph koor-release/rook-ceph -f utils/operatorValues.yaml
helm install --create-namespace --namespace <namespace> <namespace>-rook-ceph-cluster \
--set operatorNamespace=<namespace> koor-release/rook-ceph-cluster -f utils/clusterValues.yaml
|
In addition to installing the helm charts, the operator checks if the current cluster meets the minimum recommended resources to run KSD.
Based on our experience, the minimum recommended resources are:
- number of nodes: 4
- storage: 500GB
- CPU: 19 cores
- memory: 44GB
If your cluster meets the minimum resources, you will see that in the koorcluster
status:
1
2
3
4
5
6
7
8
9
10
11
12
| $ kubectl describe --namespace koor-operator koorclusters
Name: koor-operator-koorcluster
Namespace: koor-operator
...
Status:
Meets Minimum Resources: true
Total Resources:
Cpu: 20
Memory: 47185920Ki
Nodes Count: 4
Storage: 1073741824Ki
...
|
What’s next?
We continue to work on making the KSD easier to use and maintain.
We are exploring allowing the operator to install the latest version of KSD automatically.
You can track the progress of this feature and others on our development roadmap.
Do you have any questions or ideas? Feel free to contact us via email or our social media channels,
or attend one of our bi-weekly office hours.