Platform Deployment
Deploy Platform
Attention
Hint
fast_data_dir=/home/kaapana: Location of data that do not take a lot of space and should be loaded fast. Preferably, a SSD is mounted here.slow_data_dir=/home/kaapana: Location of huge files, like images or our object store is located here. Preferably, a HDD is mounted here.kaapanactl.sh and can also be identical (everything is stored at one place).The platform is deployed using the script kaapanactl.sh also used during Server Installation.
Adjust the variables in the script to your needs. You find descriptions of all available variables below. You can use your favorite text editor, e.g.
nano:nano kaapanactl.shExecute the script:
./kaapanactl.sh deploy --chart <KAAPANA_ADMIN_CHART> -u <REGISTRY_USERNAME> -p <REGISTRY_PASSWORD>KAAPANA_ADMIN_CHARTreferes to the platform chart which is about to be installed. It has the form<registry>/<chart>:<version>(e.g.localhost:5000/kaapana-admin-chart:0.5.3-latest)`REGISTRY_USERNAMEandREGISTRY_PASSWORDrefere to the username and password used to access the private registry.Hint: If your registry is plain HTTP (e.g. when you use a local registry) use the
--plain-httpflag to enable pulling from plain HTTP registries.
Copy the files generated during the build process to your target-system (server), i.e.
Tarball with all images at
/kaapana/build/kaapana-admin-chart/kaapana-admin-chart-<version>-images.tarHelm chart file at
/kaapana/build/kaapana-admin-chart/kaapana-admin-chart-<version>.tgz
Run the deployment script to import images into the microk8s registry:
./kaapanactl.sh deploy --import-images-tar kaapana-admin-chart-<version>-images.tar
Run the deployment script with the offline flag and chart:
./kaapanactl.sh deploy --offline --chart-path kaapana-admin-chart-<version>.tgz
The script requires several inputs from you:
server domain (FQDN):
You should enter the domain, hostname or IP-address where the server is accessible from client workstations. Keep in mind, that valid SSL-certificates are only working with FQDN domains.
Enable GPU support?
Answer yes if you have a Nvidia GPU, installed drivers and enabled GPU for Microk8s.
Please enter the credentials for the Container-Registry:
Use the credentials to your own registry or the ones provided to you by the Kaapana team.
As soon as the script finished successfully you will see the following output:
Deployment done. Please wait till all components have been downloaded and started. You can check the progress with: watch microk8s.kubectl get pods --all-namespaces When all pod are in the "running" or "completed" state, you can visit: <domain> You should be welcomed by the login page. Initial credentials: username: kaapana password: kaapana
As all docker images are pulled from the container registry, it may take a while until all pods are running. You can check the progress with:
watch microk8s.kubectl get pods -AWhen all pods are in the “running” or “completed” state, you can visit the platform at the given domain.
Platform Configurations
This section provides a brief explanation about the multiple variables in kaapanactl.sh which can be changed to configure the Kaapana platform for different use cases.
Deployment configurations
Variable |
Default |
Type |
Description |
|---|---|---|---|
|
|
string |
If true, sets |
|
|
string |
Enables NVIDIA GPU support if available (checks |
|
|
string |
If true, installs extensions listed in |
|
|
string |
Absolute path to platform chart (.tgz). Required in offline mode. Setting this also sets |
|
|
string |
Flag for |
|
false |
bool |
If true, |
Namespace configurations
Variable |
Default |
Type |
Description |
|---|---|---|---|
|
|
string |
Prefix for namespace variables (e.g., |
|
|
string |
Kubernetes namespace for Kaapana apps (e.g., airflow, backend, extensions). |
|
|
string |
Namespace for core components like proxy and auth. |
|
|
string |
Currently not used. |
|
|
string |
Helm namespace used for platform charts. |
Resource configurations
Variable |
Default |
Type |
Description |
|---|---|---|---|
|
30 |
int |
% of allocable memory (70% of total) allocated to PACS. |
|
50 |
int |
% of allocable memory for Airflow workflow system. |
|
20 |
int |
% of allocable memory for Opensearch metadata and search system. |
Data configurations
Variable |
Default |
Type |
Description |
|---|---|---|---|
|
|
string |
Directory for stateful application data (e.g., databases, tmp). |
|
|
string |
Directory for long-term data storage like DICOM files. |
Credentials
Important
The following variables are used as credentials for system users for components within the platform. They must be changed before running the deployment script. After deployment you cannot change them without breaking the platform.
Variable name |
Default value |
Description |
|---|---|---|
|
|
Username for Minio object storage. |
|
|
Password for Minio object storage. |
|
|
Username for Grafana dashboard. |
|
|
Password for Grafana dashboard. |
|
|
Username for Keycloak administrator. |
|
|
Password for Keycloak administrator. Minimum policy for production: 1 specialChar + 1 upperCase + 1 lowerCase and 1 digit + min-length = 8 |
Initial Kaapana Login Credentials
The initial credentials for the Kaapana platform are:
username: kaapana
password: kaapana
In production mode, the initial credentials are:
username: kaapana
password: Kaapana2020!
Undeploy Platform
To undeploy the Kaapana platform means, that all Kubernetes resources, Helm charts and persistent volumes are deleted. You can achieve this by simply running
./kaapanactl.sh deploy --undeploy
If the undeployment fails or takes forever, check the correspoding FAQ entry for more information.