Koor Operator
An easy way to install the Koor Storage Distro is by using the Koor Operator. Using the Koor Operator makes installing, maintaining and upgrading your KSD installation easier. This helps you install a full-fledged Koor Storage Distro (with all Rook-Ceph artifacts) in just 2 lines of helm install.
Features¶
These are the features currently available in the Koor Operator:
- Install KSD with sane defaults
- Checks if the cluster meets the minimum recommended resources
- Get notifications when newer versions of KSD, Ceph or the Koor Operator are available
- More features are planned soon!
Installing using Helm¶
To get started, you can install the Koor Operator using helm, using the following command:
The cluster should be ready in a few minutes. You can check the status using this kubectl
command:
Helm Chart Parameters¶
The Koor Operator uses sane defaults that help you bootstrap your KSD cluster quickly, but you can configure it via the values.yaml
file:
A detailed documentatrion of the parameters in values.yaml
can be found in the git repository. Here are some notable parameters:
Parameter | Description | Default |
---|---|---|
certmanager.enabled | Install cert-manger. Set to false to use an existing cert-manager | true |
certmanager.installCRDs | If cert-manager's CRDs should be installed through Helm | true |
koorCluster.spec.dashboardEnabled | Enable the Ceph MGR dashboard. | true |
koorCluster.spec.ksdClusterReleaseName | The name to use for KSD cluster helm release. | "ksd-cluster" |
koorCluster.spec.ksdReleaseName | The name to use for KSD helm release. | "ksd" |
koorCluster.spec.monitoringEnabled | If monitoring should be enabled, requires the prometheus-operator to be pre-installed. | true |
koorCluster.spec.toolboxEnabled | If the Ceph toolbox, should be deployed as well. | true |
koorCluster.spec.upgradeOptions.endpoint | The api endpoint used to find the ceph latest version | "https://"versions.koor.tech" |
koorCluster.spec.upgradeOptions.mode | Upgrade mode. Options: disabled, notify, upgrade. | "notify" |
koorCluster.spec.upgradeOptions.schedule | The schedule to check for new versions. Uses CRON format as specified by https://github.com/robfig/cron/tree/v3. Defaults to everyday at midnight in the local timezone. To change the timezone, prefix the schedule with CRON_TZ= | "0 0 * * *" |
koorCluster.spec.useAllDevices | If all empty + unused devices of the cluster should be used. | true |
What if I have an existing KSD cluster?¶
If you installed KSD using helm and would like to reap the benefits of the Koor Operator, you can add it to your existing cluster by adjusting the values.yaml
with the helm release names. Note that the Koor Operator needs to be installed in the same namespace as the other KSD components. For example:
Minimum Recommended Resources¶
After the Koor Operator is installed, it calculates the total resources available in the cluster and checks if they meet the minimum recommended resources to run KSD. The resources are:
- Nodes: the cluster should contain at least 4 nodes.
- Storage: the total storage available in the cluster should at least than 500GB
- CPU: across all nodes, the number of CPU cores should be at least 19 cores
- Memory: across all nodes, the available memory should be more than 44GB
To check if your cluster meets the minimum resources, you can check the status of the KoorCluster
resource:
Version Notifications¶
The Koor Operator allows you to be notified whenever a new version of KSD, Ceph or the Koor Operator are available. This is controlled in values.yaml
using the following options:
Tip
You can force an immediate version check by changing the schedule
to * * * * *
(check every minute) and changing it back to another more practical schedule when the check is complete.
The current and latest versions will appear in the status of the KoorCluster
resource:
Version Service¶
The information about the newest available versions is tracked in the version service. Clusters using the Koor Operator default to using the official Koor version service which is available on https://versions.koor.tech .
Alternatively, you can deploy the version service on your own cluster:
Note
The Version Service is never checked if notifications are disabled in the upgradeOptions.mode
option. If notifications are enabled, but the Version Service URL can not be reached, nothing will happen