K8s Helm Chart
Kubernetes installation
AimHub uses helm charts for installation on Kubernetes cluster.
Hardware requirements
At least two worker nodes with a minimum of 2vCPU and 4GB RAM for application deployment. This is sufficient to set up AimHub and create a small number of Aim projects.
Prerequisites
Kubernetes cluster with version v1.23 or v1.24.
At least one
storageClass
with dynamic volume provisioning.A
network
type load balancer to expose AimHub externally.
Installation
To deploy the AimHub Helm chart, navigate to the chart directory and run the following Helm installation command:
Where:
<release-name>
is a unique name to identify the AimHub deployment,<application-namespace>
is the Kubernetes namespace where you want to install AimHub,<values.yaml>
is the path to the modified values.yaml file.
<aside> ⚠️ values.yaml
file should be properly configured prior to running installation command. Please refer to “Parameters Configuration” section for the details
</aside>
Parameters configuration
Required parameters
❗ The following values must be specified in values.yaml
file prior to installing Chart:
All parameters
Below is the list of configurable parameters in AimHub Chart:
domain_name
:Domain for accessing the AimHub application.
ingress
:enabled
:The boolean parameter is used to enable or disable ingress resource implementation
Default value is
true
class
Parameter to provide k8s ingress_class that should be used in ingress resources
If left it blank the default ingress class will be used(If there are any)
tls.enabled
The boolean parameter is used to enable TLS termination
Default value is
false
tls.secret_name
:Parameter used to provide k8s secret name for TLS certificate
env
AIMHUB_REDIS_URL
:Redis connection URL:
redis://:<password>@<redis-service-URL>:6379/0
⚠️ Please provide value for this parameter in case you decided to use your own Redis setup. By default Aimhub helm chart uses Redis helm chart(from bitnami) as dependency, and configuration parameters are generated automatically. Otherwise please left it blank
AIMHUB_SQL_URL
:Database connection URL:
postgresql://<username>:<password>@<db service endpoint>:5432/<db-name>
⚠️ Please provide value for this parameter in case you decided to use your own PostgreSQL setup. By default Aimhub helm chart uses PostgreSQL helm chart(from bitnami) as dependency and configuration parameters are generated automatically. Otherwise please left it blank
AIMHUB_PROJECTS_DOMAIN
:Domain for accessing AimHub application.
AIM_CHART_VERSION
:Parameter used to provide exact chart version for single deployment Aim project
resources
: (Optional)Compute parameters for AimHub components. Defaults are sufficient testing purposes.
persistance
:Change parameters if needed.
Provide K8S
storageClass
name
tolerations
: (Optional)Configuration for node taints where the application should be deployed.
affinity
:(Optional)Add node affinity configuration if needed.
aim
:resources
:(optional)Change parameters for compute parameters if needed
persistance
:Change parameters if needed.
Provide K8S
storageClass
name
tolerations(optional):
Add configuration, which corresponds to node taints, where the application should be deployed
affinity:
Add node affinity configuration if needed.
redis:
enabled
Default value is
true
Used to enable/disable Redis helm chart deployment
global.storageClass(required):
Parameter used to define
K8s storageClass
for persistenceLeft is blank if you want to use default storage class in your K8S cluster
auth.password(required)
Parameter used to define Redis connection password
tolerations(optional):
Add configuration, which corresponds to node taints, where the application should be deployed
affinity:(optional)
Add node affinity configuration if needed.
postgresql
enabled
Default value is
true
Used to enable/disable PostgreSQL helm chart deployment
global.storageClass**(required)**:
Parameter used to define
K8s storageClass
for persistenceLeft is blank if you want to use default storage class in your K8S cluster
auth.postgresPassword(required)
Parameter used to define password for
postgres
****user
tolerations(optional):
Add configuration, which corresponds to node taints, where the application should be deployed
affinity:(optional)
Add node affinity configuration if needed.
auth.password(required)
Parameter used to define password for application user
Last updated