| .. | ||
| templates | ||
| .helmignore | ||
| Chart.yaml | ||
| README.md | ||
| RELEASENOTES.md | ||
| values.yaml | ||
MariaDB
Changelog
see RELEASENOTES.md
A Helm chart for MariaDB on Kubernetes
TL;DR
helm repo add groundhog2k https://groundhog2k.github.io/helm-charts/
helm install my-release groundhog2k/mariadb
Introduction
This chart uses the original MariaDB image from Docker Hub to deploy a stateful MariaDB instance in a Kubernetes cluster.
It fully supports deployment of the multi-architecture docker image.
Prerequisites
- Kubernetes 1.12+
- Helm 3.x
- PV provisioner support in the underlying infrastructure
Installing the Chart
To install the chart with the release name my-release:
helm install my-release groundhog2k/mariadb
Uninstalling the Chart
To uninstall/delete the my-release deployment:
helm uninstall my-release
Common parameters
| Key | Type | Default | Description |
|---|---|---|---|
| fullnameOverride | string | "" |
Fully override the deployment name |
| nameOverride | string | "" |
Partially override the deployment name |
Deployment parameters
| Key | Type | Default | Description |
|---|---|---|---|
| image.pullPolicy | string | "IfNotPresent" |
Image pull policy |
| image.registry | string | "docker.io" |
Image registry |
| image.repository | string | "mariadb" |
Image name |
| image.tag | string | "" |
Image tag |
| imagePullSecrets | list | [] |
Image pull secrets |
| extraInitContainers | list | [] |
Extra init containers |
| extaContainers | list | [] |
Extra containers for usage as sidecars |
| startupProbe | object | see values.yaml |
Startup probe configuration |
| livenessProbe | object | see values.yaml |
Liveness probe configuration |
| readinessProbe | object | see values.yaml |
Readiness probe configuration |
| customStartupProbe | object | {} |
Custom startup probe (overwrites default startup probe configuration) |
| customLivenessProbe | object | {} |
Custom liveness probe (overwrites default liveness probe configuration) |
| customReadinessProbe | object | {} |
Custom readiness probe (overwrites default readiness probe configuration) |
| resources | object | {} |
Resource limits and requests |
| initResources | object | {} |
Resource limits and requests for the default init container |
| nodeSelector | object | {} |
Deployment node selector |
| podAnnotations | object | {} |
Additional pod annotations |
| podSecurityContext | object | see values.yaml |
Pod security context |
| securityContext | object | see values.yaml |
Container security context |
| env | list | [] |
Additional container environmment variables |
| serviceAccount.annotations | object | {} |
Additional service account annotations |
| serviceAccount.create | bool | false |
Enable service account creation |
| serviceAccount.name | string | "" |
Name of the service account |
| affinity | object | {} |
Affinity for pod assignment |
| tolerations | list | [] |
Tolerations for pod assignment |
| podManagementPolicy | string | "OrderedReady" |
Pod management policy |
| updateStrategyType | string | "RollingUpdate" |
Pod update strategy |
| revisionHistoryLimit | int | nil |
Maximum number of revisions maintained in revision history |
Service paramters
| Key | Type | Default | Description |
|---|---|---|---|
| service.type | string | "ClusterIP" |
Service type |
| service.port | int | 3306 |
MariaDB service port |
| service.nodePort | int | nil |
The node port (only relevant for type LoadBalancer or NodePort) |
| service.clusterIP | string | nil |
The cluster ip address (only relevant for type LoadBalancer or NodePort) |
| service.loadBalancerIP | string | nil |
The load balancer ip address (only relevant for type LoadBalancer) |
| service.annotations | object | {} |
Additional service annotations |
Storage parameters
| Key | Type | Default | Description |
|---|---|---|---|
| storage.accessModes[0] | string | "ReadWriteOnce" |
Storage access mode |
| storage.persistentVolumeClaimName | string | nil |
PVC name when existing storage volume should be used |
| storage.volumeName | string | "db-volume" |
Internal volume name and prefix of a created PVC |
| storage.requestedSize | string | nil |
Size for new PVC, when no existing PVC is used |
| storage.className | string | nil |
Storage class name |
| storage.keepPvc | bool | false |
Keep a created Persistent volume claim when uninstalling the helm chart (only for option useDeployment: true) |
MariaDB parameters
| Key | Type | Default | Description |
|---|---|---|---|
| useDeployment | bool | false |
Use Kubernetes Deployment instead of StatefulSet |
| userDatabase | object | {} |
Optional MariaDB user database |
| userDatabase.name | string | "" |
Name of the user database |
| userDatabase.user | string | "" |
User name with full access to user database |
| userDatabase.password | string | "" |
Password of created user |
| settings.rootPassword | string | nil |
MariaDB root password |
| settings.allowEmptyRootPassword | bool | false |
Set true to allow an empty root password |
| settings.skipTZInfo | bool | false |
Set true to skip loading timezone data during init |
| settings.arguments | list | [] |
Additional arguments for mysqld (entrypoint process) |
| customConfig | string | nil |
Additional MariaDB custom configuration mounted as /etc/mysql/custom.cnf |
| extraEnvSecrets | list | [] |
A list of existing secrets that will be mounted into the container as environment variables |
| extraSecretConfigs | string | nil |
An existing secret with files that will be mounted into the container as custom MariaDB configuration files (*.cnf) in /etc/mysql/conf.d |
| customScripts | object | nil |
Optional custom scripts that can be defined inline and will be mounted as files in /docker-entrypoint-initdb.d |
| extraScripts | string | nil |
An existing configMap with files that will be mounted into the container as script files (*.sql, *.sh) in /docker-entrypoint-initdb.d |
| extraSecrets | list | [] |
A list of additional existing secrets that will be mounted into the container |
| extraSecrets[].name | string | nil |
Name of the existing K8s secret |
| extraSecrets[].mountPath | string | nil |
Mount path where the secret should be mounted into the container (f.e. /mysecretfolder) |