Installation with Kubernetes and Helm
Components of the Helm chart
The following components can be addressed and installed via the Helm chart. Some components are optional.
| Component | Product | Classification (core/optional) | Provision |
|---|---|---|---|
CadenzaWeb |
CadenzaWeb |
core |
Disy registry |
CadenzaWeb-Configuration |
Configuration for Cadenza |
core |
Disy registry/own registry |
MonitoringBackend |
Prometheus |
optional (not a part of the helm chart) |
Docker Hub |
MonitoringFrontend |
Grafana |
optional (not a part of the helm chart) |
Docker Hub |
Loggingbackend |
FluentBit+Opensearch |
optional |
Docker Hub |
Loggingfrontend |
Opensearch Dashboards |
optional |
Docker Hub |
IngressController |
NGINX IngressController |
core (not a part of the helm chart) |
Docker Hub |
| Component | Image | Provision |
|---|---|---|
CadenzaWeb |
registry-ext.disy.net/cadenza/cadenza-web |
Disy Registry |
CadenzaWeb-Configuration |
TBD |
Disy Registry |
| You will need credentials (username/password) to be able to pull the CadenzaWeb-Image from the disy Registry. Please get in touch with your account representative to receive these credentials. |
| Component | Hint |
|---|---|
Mailserver |
Access to an SMTP server is required to operate the ReportScheduler functionality. This is not part of the deployment but must be provided. It must be ensured that the application has access to the server (technical user, firewall rules if necessary) |
Install with Command Line Interface
If the custom-values.yaml is prepared with the desired settings, type this command to deploy cadenza in the desired namespace:
We will use my-cadenza and my-namespace as examples for release and namespace names throughout this document. You will have to use unique release name and namespaces per installation.
|
helm install my-cadenza oci://registry-ext.disy.net/cadenza-helm/cadenza --version 9.x.x -f -v custom-values.yaml -n my-namespace
Check if the Installation is Completed
If the installation via helm was successful, a message is displayed after completion of the installation.
NAME: my-release
LAST DEPLOYED: Wed Dec 20 15:04:39 2023
NAMESPACE: default
STATUS: deployed
REVISION: 1
NOTES:
Congratulations! Your application is deployed successfully.
This message just shows that the helm chart was correctly installed. The deployed pod still might be in a pending state and might not be running!
The pod where CadenzaWeb is running, should have a STATUS: Running. To check this do the following:
kubectl get pods -n my-namespace
You should see an output similar to this:
NAME READY STATUS RESTARTS AGE
CadenzaWeb 1/1 Running 0 2m
If the Pod where CadenzaWeb should run still not have STATUS: Running after a few minutes, check the ressources and the logs of the Pod:
kubectl describe pod <pod_name> -n my-namespace
kubectl logs <pod_name> -n my-namespace
NAME READY STATUS RESTARTS AGE
CadenzaWeb 1/1 Pending 0 2m
In this case, the namespace might need more ressources to be able to run the software.
How to update a helm release
Helm’s upgrade mechanism can be used to make simple changes to the deployment. Changes to the installation-specific custom-values.yaml can thus be implemented without a new installation. This mechanism can also be used to apply a newer version of the Cadenza configuration and repositories.
-
Update using a
custom-values.yamlfile:
helm upgrade --install my-cadenza oci://registry-ext.disy.net/cadenza-helm/cadenza --version <new-version> -n my-namespace -f values.yaml