|
| 1 | +# MariaDB |
| 2 | + |
| 3 | +   |
| 4 | + |
| 5 | +A Helm chart for MariaDB on Kubernetes |
| 6 | + |
| 7 | +## TL;DR |
| 8 | + |
| 9 | +```bash |
| 10 | +$ helm repo add alokjani https://alokjani.github.io/helm-charts/ |
| 11 | +$ helm install my-release alokjani/mariadb |
| 12 | +``` |
| 13 | + |
| 14 | +## Introduction |
| 15 | + |
| 16 | +This chart uses the original [MariaDB image from Docker Hub](https://hub.docker.com/_/mariadb) to deploy a stateful MariaDB instance in a Kubernetes cluster. |
| 17 | + |
| 18 | +It fully supports deployment of the multi-architecture docker image. |
| 19 | + |
| 20 | +## Prerequisites |
| 21 | + |
| 22 | +- Kubernetes 1.12+ |
| 23 | +- Helm 3.x |
| 24 | +- PV provisioner support in the underlying infrastructure |
| 25 | + |
| 26 | +## Installing the Chart |
| 27 | + |
| 28 | +To install the chart with the release name `my-release`: |
| 29 | + |
| 30 | +```bash |
| 31 | +$ helm install my-release alokjani/mariadb |
| 32 | +``` |
| 33 | + |
| 34 | +## Uninstalling the Chart |
| 35 | + |
| 36 | +To uninstall/delete the `my-release` deployment: |
| 37 | + |
| 38 | +```bash |
| 39 | +$ helm uninstall my-release |
| 40 | +``` |
| 41 | + |
| 42 | +## Common parameters |
| 43 | + |
| 44 | +| Key | Type | Default | Description | |
| 45 | +|-----|------|---------|-------------| |
| 46 | +| fullnameOverride | string | `""` | Fully override the deployment name | |
| 47 | +| nameOverride | string | `""` | Partially override the deployment name | |
| 48 | + |
| 49 | +## Deployment parameters |
| 50 | + |
| 51 | +| Key | Type | Default | Description | |
| 52 | +|-----|------|---------|-------------| |
| 53 | +| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | |
| 54 | +| image.repository | string | `"mariadb"` | Image name | |
| 55 | +| image.tag | string | `""` | Image tag | |
| 56 | +| imagePullSecrets | list | `[]` | Image pull secrets | |
| 57 | +| livenessProbe | object | `see values.yaml` | Liveness probe configuration | |
| 58 | +| readinessProbe | object | `see values.yaml` | Readiness probe configuration | |
| 59 | +| customLivenessProbe | object | `{}` | Custom liveness probe (overwrites default liveness probe configuration) | |
| 60 | +| customReadinessProbe | object | `{}` | Custom readiness probe (overwrites default readiness probe configuration) | |
| 61 | +| resources | object | `{}` | Resource limits and requests | |
| 62 | +| nodeSelector | object | `{}` | Deployment node selector | |
| 63 | +| podAnnotations | object | `{}` | Additional pod annotations | |
| 64 | +| podSecurityContext | object | `see values.yaml` | Pod security context | |
| 65 | +| securityContext | object | `see values.yaml` | Container security context | |
| 66 | +| env | list | `[]` | Additional container environmment variables | |
| 67 | +| serviceAccount.annotations | object | `{}` | Additional service account annotations | |
| 68 | +| serviceAccount.create | bool | `false` | Enable service account creation | |
| 69 | +| serviceAccount.name | string | `""` | Name of the service account | |
| 70 | +| affinity | object | `{}` | Affinity for pod assignment | |
| 71 | +| tolerations | list | `[]` | Tolerations for pod assignment | |
| 72 | +| podManagementPolicy | string | `"OrderedReady"` | Pod management policy | |
| 73 | +| updateStrategyType | string | `"RollingUpdate"` | Pod update strategy | |
| 74 | +| revisionHistoryLimit | int | `nil` | Maximum number of revisions maintained in revision history |
| 75 | + |
| 76 | +## Service paramters |
| 77 | + |
| 78 | +| Key | Type | Default | Description | |
| 79 | +|-----|------|---------|-------------| |
| 80 | +| service.type | string | `"ClusterIP"` | Service type | |
| 81 | +| service.port | int | `3306` | MariaDB service port | |
| 82 | +| service.nodePort | int | `nil` | The node port (only relevant for type LoadBalancer or NodePort) | |
| 83 | +| service.clusterIP | string | `nil` | The cluster ip address (only relevant for type LoadBalancer or NodePort) | |
| 84 | +| service.loadBalancerIP | string | `nil` | The load balancer ip address (only relevant for type LoadBalancer) | |
| 85 | + |
| 86 | +## Storage parameters |
| 87 | + |
| 88 | +| Key | Type | Default | Description | |
| 89 | +|-----|------|---------|-------------| |
| 90 | +| storage.accessModes[0] | string | `"ReadWriteOnce"` | Storage access mode | |
| 91 | +| storage.persistentVolumeClaimName | string | `nil` | PVC name when existing storage volume should be used | |
| 92 | +| storage.requestedSize | string | `nil` | Size for new PVC, when no existing PVC is used | |
| 93 | +| storage.className | string | `nil` | Storage class name | |
| 94 | + |
| 95 | +## MariaDB parameters |
| 96 | + |
| 97 | +| Key | Type | Default | Description | |
| 98 | +|-----|------|---------|-------------| |
| 99 | +| userDatabase | object | `{}` | Optional MariaDB user database | |
| 100 | +| userDatabase.name | string | `""` | Name of the user database | |
| 101 | +| userDatabase.user | string | `""` | User name with full access to user database| |
| 102 | +| userDatabase.password | string | `""` | Password of created user (Random value if not specified) | |
| 103 | +| settings.rootPassword | string | `nil` | MariaDB root password (Random value if not specified) | |
| 104 | +| settings.arguments | list | `[]` | Additional arguments for mysqld (entrypoint process) | |
| 105 | +| customConfig | string | `nil` | Additional MariaDB custom configuration mounted as custom.cnf | |
0 commit comments