Skip to content
This repository has been archived by the owner on Apr 17, 2024. It is now read-only.

Latest commit

 

History

History

data-control-center

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
title
Data Control Center Helm Chart

Installs Koor Data Control Center to inspect, configure, and manage your Koor Storage Cluster on Kubernetes.

Introduction

This chart sets up Koor Data Control Center deployment on a Kubernetes cluster using the Helm package manager.

Prerequisites

See the Helm support matrix for more details.

Installing

The Ceph Operator helm chart will install the basic components necessary to create a storage data control center for your Rook Ceph cluster in Kubernetes.

  1. Add the Koor Helm repo
  2. Install the Helm chart
  3. Create a Koor Storage cluster.

The helm install command deploys the Koor Operator on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation. It is recommended that the Koor Operator be installed into the same namespace as the Rook Ceph cluster (e.g., rook-ceph namespace used as an example).

helm repo add data-control-center https://koor-tech.github.io/data-control-center
helm repo update
helm install --create-namespace --namespace rook-ceph data-control-center data-control-center/data-control-center -f values.yaml

For example settings, see the next section or values.yaml.

Exposing via Ingress

To expose the data-control-center you need to use the ingress: config section.

An example for a common Ingress setup with NGINX ingress controller and that uses the cert-manager to retrieve a certificate:

ingress:
  enabled: true
  # -- Ingress class name
  className: "nginx"
  annotations:
    cert-manager.io/cluster-issuer: your-cluster-issuer
  hosts:
    - host: datacontrolcenter.example.com
      paths:
        - path: /
          pathType: ImplementationSpecific
  tls:
    - secretName: data-control-center-tls
      hosts:
        - datacontrolcenter.example.com

Configuration

The following table lists the configurable parameters of the rook-operator chart and their default values.

Parameter Description Default
additionalEnv Will be put in a Secret and used as env vars (key value pairs) {}
additionalVolumeMounts Extra volume mounts to add to the data-control-center deployment []
additionalVolumes Extra volumes to add to the data-control-center deployment []
affinity Pod Affinity options https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#affinity-v1-core {}
config data-control-center config, documentation here: https://github.com/koor-tech/data-control-center/blob/main/docs/configuration.md#reference {"ancienttCmd":"ancientt","ceph":{"api":{"insecureSkipVerify":true,"password":null,"url":"https://rook-ceph-mgr-dashboard:8443/api","username":"data-control-center"}},"certs":{"caCerts":[],"insecureSkipVerify":false},"http":{"listen":":8282","sessions":{"cookieSecret":"your_generated_cookie_secret","domain":"localhost"}},"jwt":{"secret":"your_generated_jwt_secret"},"logLevel":"INFO","mode":"release","namespace":"","oauth2":{"providers":[]},"readOnly":false,"updateCheck":{"enabled":true,"interval":"24h"},"users":[]}
config.ceph.api.password Password is auto generated if not set and retrieved using helm's lookup function nil
config.namespace The rook ceph namespace, if different from the release namespace. Defaults to the release namespace. ""
fullnameOverride Overrides the chart's computed fullname ""
image.pullPolicy Image pull policy https://kubernetes.io/docs/concepts/containers/images#updating-images "IfNotPresent"
image.repository Image repository "docker.io/koorinc/data-control-center"
image.tag Overrides the image tag whose default is the chart appVersion. ""
imagePullSecrets Specifiy image pull secrets https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod []
ingress.annotations Annotations to add to Ingress {}
ingress.className Ingress class name ""
ingress.enabled If an Ingress object should be created. false
ingress.hosts List of Ingress hosts/paths to expose via an Ingress object [{"host":"chart-example.local","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}]
ingress.tls Ingress TLS config https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#ingresstls-v1-networking-k8s-io []
nameOverride Overrides the chart's name ""
nodeSelector Node selector https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ {}
podAnnotations Additional annotations to add to the pods {}
podSecurityContext Pod security context https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ {}
postInstallJob.enabled If enabled, will create a Ceph dashboard admin user data-control-center either on Rook/Ceph cluster pre upgrade(when having data-control-center as a helm dependency) or on post install of data-control-center (needs existing Rook/Ceph cluster). This user will be used for retrieving cluster info and stats. true
rbac.ancientt Setup RBAC for running ancientt network tests true
rbac.annotations Annotations to add to the service account {}
rbac.create Specifies wheter RBAC roles should be created true
rbac.name The name of the service account to use. If not set and create is true, a name is generated using the fullname template. ""
replicaCount Replica count to run. 1
resources Resources to set for the container https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core {}
securityContext Container security context https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ {}
service.port Service port number 8282
service.type Service type (Default ClusterIP) "ClusterIP"
serviceAccount.annotations Annotations to add to the service account {}
serviceAccount.create Specifies whether a service account should be created true
serviceAccount.name The name of the service account to use. If not set and create is true, a name is generated using the fullname template. ""
tolerations List of Tolerations https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#toleration-v1-core []

Uninstalling the Chart

To see the currently installed Rook chart:

helm ls --namespace rook-ceph

To uninstall/delete the data-control-center deployment:

helm delete --namespace rook-ceph data-control-center

The command removes all the Kubernetes components associated with the chart and deletes the release.

License

Copyright 2023 Koor Technologies, Inc. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.