.. | ||
templates | ||
.helmignore | ||
CHANGELOG.md | ||
Chart.yaml | ||
README_CHANGELOG.md.gotmpl | ||
README_CONFIG.md.gotmpl | ||
README.md | ||
README.md.gotmpl | ||
values.yaml |
zalando-postgres-cluster
Creates a postgres cluster using the Zalando Postgres operator and local storage
This chart is not maintained by the upstream project and any issues with the chart should be raised here
Source Code
Requirements
Dependencies
Repository | Name | Version |
---|---|---|
https://library-charts.k8s-at-home.com | common | 4.0.1 |
TL;DR
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install zalando-postgres-cluster k8s-at-home/zalando-postgres-cluster
Installing the Chart
To install the chart with the release name zalando-postgres-cluster
helm install zalando-postgres-cluster k8s-at-home/zalando-postgres-cluster
Uninstalling the Chart
To uninstall the zalando-postgres-cluster
deployment
helm uninstall zalando-postgres-cluster
The command removes all the Kubernetes components associated with the chart including persistent volumes and deletes the release.
Configuration
Read through the values.yaml file. It has several commented out suggested values. Other values may be used from the values.yaml from the common library.
Specify each parameter using the --set key=value[,key=value]
argument to helm install
.
helm install zalando-postgres-cluster \
--set env.TZ="America/New York" \
k8s-at-home/zalando-postgres-cluster
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
helm install zalando-postgres-cluster k8s-at-home/zalando-postgres-cluster -f values.yaml
Custom configuration
This chart is a wrapper for the Zalando postgres operator to create a high available Postgres cluster using nodes local storage.
Features added by this wrapper:
- creates an storage class using local storage in the nodes specified in
persistentVolumes.replicaNodes
. These replicas survive a tear-down and tear-up of the cluster. - (optional) does sql dumps to an existing PVC with K8S cronjobs. The Operator only supports backups to cloud, not NFS PVC for example.
- Define the password for the DB so that it can be used accross tear-down and tear-up of the cluster.
Values
Important: When deploying an application Helm chart you can add more values from our common library chart here
Key | Type | Default | Description |
---|---|---|---|
dumpBackup.enabled | bool | false |
Enable backups to a PVC |
dumpBackup.existingClaim | string | nil |
existing claim |
dumpBackup.image.pullPolicy | string | "IfNotPresent" |
image pull policy |
dumpBackup.image.repository | string | "postgres" |
image used for the backups |
dumpBackup.image.tag | string | "latest" |
image pull tag |
dumpBackup.resources.requests.cpu | string | "5m" |
requested cpu for backup |
dumpBackup.resources.requests.memory | string | "10Mi" |
requested memory for backup |
dumpBackup.schedule | string | "@daily" |
Backup schedule for postgres dumps |
dumpBackup.subpath | string | nil |
Persistent volume claim subpath for the backups @default: <subpathPrefix/ |
dumpBackup.subpathPrefix | string | "backup/db" |
Persistent volume claim subpath prefix for the backups |
dumpBackup.type | string | nil |
Sets the persistence type. Valid options are pvc, emptyDir, hostPath or custom. See common chart persistence doc |
persistentVolumes.accessModes[0] | string | "ReadWriteOnce" |
|
persistentVolumes.annotations | object | {} |
|
persistentVolumes.hostPath | string | nil |
Local path for the persistent volumes @default: <hostPathPrefix/ |
persistentVolumes.hostPathPrefix | string | "/run/db" |
Local prefix for persistent volumes NOTE: The default is in tempfs - you should change to a persistent place for production!!! |
persistentVolumes.labels | object | {} |
|
persistentVolumes.reclaimPolicy | string | "Retain" |
persistentVolumeReclaimPolicy for the persistent volumes Recicle will delete content once DB is deleted while Retain (default) will keep it. |
persistentVolumes.replicaNodes | list | ["node1.example.com","node2.example.com"] |
Replica nodes Must set with at least 2 nodes for the cluster to be highly available |
postgresql.databases | object | {"postgres":"postgres"} |
databases to create and their user |
postgresql.numberOfInstances | string | nil |
Number of replicas It will be automatically set with the number of replicaNodes so any values set here are ignored. |
postgresql.postgresql.version | string | "13" |
Postgres version to deploy - see which versions are supported by the operator |
postgresql.teamId | string | nil |
team Id for the DB cluster |
postgresql.users | object | {"postgres":["superuser","createdb"]} |
DB users to create (see operator) |
postgresql.volume.size | string | "1Gi" |
Size of the persistance volume to allocate |
postgresql.volume.storageClass | string | nil |
Name of the storage class |
superuser.password | string | nil |
Superuser password |
superuser.secret | string | nil |
Superuser k8s secret name. It must match the patter used by the operator |
superuser.user | string | nil |
Superuser user used for cronjobs |
Changelog
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
3.0.0
Changed
- Upgraded the common library dependency to version 4.0.0. This introduced (potentially) breaking changes to
initContainers
andadditionalContainers
. Be sure to check out the library chart for the up-to-date values.
2.0.0
Changed
- BREAKING: Upgraded the common library dependency to version 3.1.0. This introduces several breaking changes (
service
,ingress
andpersistence
keys have been refactored). Be sure to check out the library chart for the up-to-date values.
1.0.0
Added
- Initial version
Support
Autogenerated from chart metadata using helm-docs v1.5.0