From 67b5fa11bda2637242704cd2417f95af9c3bb387 Mon Sep 17 00:00:00 2001 From: raresfirebolt Date: Fri, 18 Jun 2021 17:13:40 +0300 Subject: [PATCH 1/9] separate configs --- .../statefulset-timescaledb-accessnode.yaml | 2 +- .../statefulset-timescaledb-datanode.yaml | 2 +- charts/timescaledb-multinode/values.yaml | 43 +++++++++++-------- 3 files changed, 26 insertions(+), 21 deletions(-) diff --git a/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml b/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml index dd06740a..46cee640 100644 --- a/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml +++ b/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml @@ -44,7 +44,7 @@ spec: env: - name: POSTGRESQL_CUSTOM_PARAMETERS value: | - {{- range $key, $value := .Values.postgresql.parameters }} + {{- range $key, $value := .Values.postgresql.parameters.access_node }} {{ printf "%s = '%s'" $key ($value | toString) }} {{- end }} - name: POSTGRES_PASSWORD diff --git a/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml b/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml index b1661168..3279a3ee 100644 --- a/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml +++ b/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml @@ -44,7 +44,7 @@ spec: env: - name: POSTGRESQL_CUSTOM_PARAMETERS value: | - {{- range $key, $value := .Values.postgresql.parameters }} + {{- range $key, $value := .Values.postgresql.parameters.data_node }} {{ printf "%s = '%s'" $key ($value | toString) }} {{- end }} - name: POSTGRES_PASSWORD diff --git a/charts/timescaledb-multinode/values.yaml b/charts/timescaledb-multinode/values.yaml index 27564c3c..288285b8 100644 --- a/charts/timescaledb-multinode/values.yaml +++ b/charts/timescaledb-multinode/values.yaml @@ -73,25 +73,30 @@ postgresql: - postgres - example parameters: - max_connections: 100 - max_prepared_transactions: 150 - # This is rather small, but as this Helm Chart may be used to spin up - # 1 access node and 4 data nodes on a single minikube/microk8s this is set - # to a conservative value - shared_buffers: 300MB - work_mem: 16MB - timescaledb.passfile: '../.pgpass' - log_connections: 'on' - log_line_prefix: "%t [%p]: [%c-%l] %u@%d,app=%a [%e] " - log_min_duration_statement: '1s' - log_statement: ddl - log_checkpoints: 'on' - log_lock_waits: 'on' - # These values are set as the default data volume size - # is small as well. - min_wal_size: 256MB - max_wal_size: 512MB - temp_file_limit: 1GB + data_node: + max_connections: 100 + max_prepared_transactions: 150 + # This is rather small, but as this Helm Chart may be used to spin up + # 1 access node and 4 data nodes on a single minikube/microk8s this is set + # to a conservative value + shared_buffers: 300MB + work_mem: 16MB + timescaledb.passfile: '../.pgpass' + log_connections: 'on' + log_line_prefix: "%t [%p]: [%c-%l] %u@%d,app=%a [%e] " + log_min_duration_statement: '1s' + log_statement: ddl + log_checkpoints: 'on' + log_lock_waits: 'on' + # These values are set as the default data volume size + # is small as well. + min_wal_size: 256MB + max_wal_size: 512MB + temp_file_limit: 1GB + + access_node: + enable_partitionwise_aggregate: on + jit: off # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector nodeSelector: {} From 9f3b6d047893aa835c8ce614ebfe4d5dc637dbcb Mon Sep 17 00:00:00 2001 From: raresfirebolt Date: Fri, 18 Jun 2021 17:16:32 +0300 Subject: [PATCH 2/9] max transaction --- charts/timescaledb-multinode/values.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/charts/timescaledb-multinode/values.yaml b/charts/timescaledb-multinode/values.yaml index 288285b8..d586c656 100644 --- a/charts/timescaledb-multinode/values.yaml +++ b/charts/timescaledb-multinode/values.yaml @@ -95,6 +95,7 @@ postgresql: temp_file_limit: 1GB access_node: + max_prepared_transactions: 150 enable_partitionwise_aggregate: on jit: off From 2236731b991f6c448fe5af74c655767995d7b0b4 Mon Sep 17 00:00:00 2001 From: raresfirebolt Date: Fri, 18 Jun 2021 19:57:46 +0300 Subject: [PATCH 3/9] split all values --- .../statefulset-timescaledb-accessnode.yaml | 30 ++++---- .../statefulset-timescaledb-datanode.yaml | 30 ++++---- charts/timescaledb-multinode/values.yaml | 71 +++++++++++-------- 3 files changed, 70 insertions(+), 61 deletions(-) diff --git a/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml b/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml index 46cee640..fbae8026 100644 --- a/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml +++ b/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml @@ -44,7 +44,7 @@ spec: env: - name: POSTGRESQL_CUSTOM_PARAMETERS value: | - {{- range $key, $value := .Values.postgresql.parameters.access_node }} + {{- range $key, $value := .Values.postgresql.access_node.parameters }} {{ printf "%s = '%s'" $key ($value | toString) }} {{- end }} - name: POSTGRES_PASSWORD @@ -81,8 +81,8 @@ spec: chmod 0600 "${PGDATA}/../.pgpass" volumeMounts: - name: storage-volume - mountPath: "{{ .Values.persistentVolume.mountPath }}" - subPath: "{{ .Values.persistentVolume.subPath }}" + mountPath: "{{ .Values.postgresql.access_node.persistentVolume.mountPath }}" + subPath: "{{ .Values.postgresql.access_node.persistentVolume.subPath }}" containers: - name: timescaledb securityContext: @@ -107,10 +107,10 @@ spec: - containerPort: 5432 volumeMounts: - name: storage-volume - mountPath: "{{ .Values.persistentVolume.mountPath }}" - subPath: "{{ .Values.persistentVolume.subPath }}" + mountPath: "{{ .Values.postgresql.access_node.persistentVolume.mountPath }}" + subPath: "{{ .Values.postgresql.access_node.persistentVolume.subPath }}" resources: -{{ toYaml .Values.resources | indent 10 }} +{{ toYaml .Values.postgresql.access_node.resources | indent 10 }} {{- with .Values.nodeSelector }} nodeSelector: {{ toYaml . | indent 8 }} @@ -129,17 +129,17 @@ spec: affinity: {{ tpl .Values.affinityTemplate . | indent 8 }} {{- end }} - {{- if not .Values.persistentVolume.enabled }} + {{- if not .Values.postgresql.access_node.persistentVolume.enabled }} - name: storage-volume emptyDir: {} {{- end }} - {{- if .Values.persistentVolume.enabled }} + {{- if .Values.postgresql.access_node.persistentVolume.enabled }} volumeClaimTemplates: - metadata: name: storage-volume annotations: - {{- if .Values.persistentVolume.annotations }} -{{ toYaml .Values.persistentVolume.annotations | indent 8 }} + {{- if .Values.postgresql.access_node.persistentVolume.annotations }} +{{ toYaml .Values.postgresql.access_node.persistentVolume.annotations | indent 8 }} {{- end }} labels: app: {{ template "timescaledb.fullname" . }} @@ -147,15 +147,15 @@ spec: heritage: {{ .Release.Service }} spec: accessModes: -{{ toYaml .Values.persistentVolume.accessModes | indent 8 }} +{{ toYaml .Values.postgresql.access_node.persistentVolume.accessModes | indent 8 }} resources: requests: - storage: "{{ .Values.persistentVolume.size }}" - {{- if .Values.persistentVolume.storageClass }} - {{- if (eq "-" .Values.persistentVolume.storageClass) }} + storage: "{{ .Values.postgresql.access_node.persistentVolume.size }}" + {{- if .Values.postgresql.access_node.persistentVolume.storageClass }} + {{- if (eq "-" .Values.postgresql.access_node.persistentVolume.storageClass) }} storageClassName: "" {{- else }} - storageClassName: "{{ .Values.persistentVolume.storageClass }}" + storageClassName: "{{ .Values.postgresql.access_node.persistentVolume.storageClass }}" {{- end }} {{- end }} {{- end }} diff --git a/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml b/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml index 3279a3ee..342599fa 100644 --- a/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml +++ b/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml @@ -44,7 +44,7 @@ spec: env: - name: POSTGRESQL_CUSTOM_PARAMETERS value: | - {{- range $key, $value := .Values.postgresql.parameters.data_node }} + {{- range $key, $value := .Values.postgresql.data_node.parameters }} {{ printf "%s = '%s'" $key ($value | toString) }} {{- end }} - name: POSTGRES_PASSWORD @@ -76,8 +76,8 @@ spec: echo "DROP EXTENSION timescaledb" | /docker-entrypoint.sh postgres --single -D "${PGDATA}" template1 volumeMounts: - name: storage-volume - mountPath: "{{ .Values.persistentVolume.mountPath }}" - subPath: "{{ .Values.persistentVolume.subPath }}" + mountPath: "{{ .Values.postgresql.data_node.persistentVolume.mountPath }}" + subPath: "{{ .Values.postgresql.data_node.persistentVolume.subPath }}" containers: - name: timescaledb securityContext: @@ -102,10 +102,10 @@ spec: - containerPort: 5432 volumeMounts: - name: storage-volume - mountPath: "{{ .Values.persistentVolume.mountPath }}" - subPath: "{{ .Values.persistentVolume.subPath }}" + mountPath: "{{ .Values.postgresql.data_node.persistentVolume.mountPath }}" + subPath: "{{ .Values.postgresql.data_node.persistentVolume.subPath }}" resources: -{{ toYaml .Values.resources | indent 10 }} +{{ toYaml .Values.postgresql.data_node.resources | indent 10 }} {{- with .Values.nodeSelector }} nodeSelector: {{ toYaml . | indent 8 }} @@ -124,17 +124,17 @@ spec: affinity: {{ tpl .Values.affinityTemplate . | indent 8 }} {{- end }} - {{- if not .Values.persistentVolume.enabled }} + {{- if not .Values.postgresql.data_node.persistentVolume.enabled }} - name: storage-volume emptyDir: {} {{- end }} - {{- if .Values.persistentVolume.enabled }} + {{- if .Values.postgresql.data_node.persistentVolume.enabled }} volumeClaimTemplates: - metadata: name: storage-volume annotations: - {{- if .Values.persistentVolume.annotations }} -{{ toYaml .Values.persistentVolume.annotations | indent 8 }} + {{- if .Values.postgresql.data_node.persistentVolume.annotations }} +{{ toYaml .Values.postgresql.data_node.persistentVolume.annotations | indent 8 }} {{- end }} labels: app: {{ template "timescaledb.fullname" . }} @@ -142,15 +142,15 @@ spec: heritage: {{ .Release.Service }} spec: accessModes: -{{ toYaml .Values.persistentVolume.accessModes | indent 8 }} +{{ toYaml .Values.postgresql.data_node.persistentVolume.accessModes | indent 8 }} resources: requests: - storage: "{{ .Values.persistentVolume.size }}" - {{- if .Values.persistentVolume.storageClass }} - {{- if (eq "-" .Values.persistentVolume.storageClass) }} + storage: "{{ .Values.postgresql.data_node.persistentVolume.size }}" + {{- if .Values.postgresql.data_node.persistentVolume.storageClass }} + {{- if (eq "-" .Values.postgresql.data_node.persistentVolume.storageClass) }} storageClassName: "" {{- else }} - storageClassName: "{{ .Values.persistentVolume.storageClass }}" + storageClassName: "{{ .Values.postgresql.data_node.persistentVolume.storageClass }}" {{- end }} {{- end }} {{- end }} diff --git a/charts/timescaledb-multinode/values.yaml b/charts/timescaledb-multinode/values.yaml index d586c656..a48c7090 100644 --- a/charts/timescaledb-multinode/values.yaml +++ b/charts/timescaledb-multinode/values.yaml @@ -41,39 +41,21 @@ env: # a Docker Volume in many Docker images, which means the data is not actually persisted. value: /var/lib/postgresql/pgdata -persistentVolume: - enabled: true - size: 5G - ## database data Persistent Volume Storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" - subPath: "" - mountPath: "/var/lib/postgresql" - annotations: {} - accessModes: - - ReadWriteOnce - -resources: {} - # If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - postgresql: databases: - postgres - example - parameters: - data_node: + data_node: + resources: {} + # If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + parameters: max_connections: 100 max_prepared_transactions: 150 # This is rather small, but as this Helm Chart may be used to spin up @@ -94,11 +76,38 @@ postgresql: max_wal_size: 512MB temp_file_limit: 1GB - access_node: - max_prepared_transactions: 150 + persistentVolume: + enabled: true + size: 5G + ## database data Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + # storageClass: "-" + subPath: "" + mountPath: "/var/lib/postgresql" + annotations: {} + accessModes: + - ReadWriteOnce + + access_node: + resources: {} + parameters: enable_partitionwise_aggregate: on jit: off + persistentVolume: + enabled: true + size: 5G + subPath: "" + mountPath: "/var/lib/postgresql" + annotations: {} + accessModes: + - ReadWriteOnce + # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector nodeSelector: {} From 68e474dce63d89280c11baf122dd808cec876475 Mon Sep 17 00:00:00 2001 From: raresfirebolt Date: Fri, 18 Jun 2021 20:51:33 +0300 Subject: [PATCH 4/9] add chart to repo --- charts/repo/index.yaml | 66 ++++++++++++-------- charts/repo/timescaledb-multinode-0.8.2.tgz | Bin 0 -> 11094 bytes charts/timescaledb-multinode/Chart.yaml | 2 +- 3 files changed, 42 insertions(+), 26 deletions(-) create mode 100644 charts/repo/timescaledb-multinode-0.8.2.tgz diff --git a/charts/repo/index.yaml b/charts/repo/index.yaml index 6bf84a9b..ca93ef3a 100644 --- a/charts/repo/index.yaml +++ b/charts/repo/index.yaml @@ -2,7 +2,23 @@ apiVersion: v1 entries: timescaledb-multinode: - apiVersion: v1 - created: "2021-05-13T13:09:01.247651322+03:00" + created: "2021-06-18T20:50:20.468566267+03:00" + description: TimescaleDB Multinode Deployment. + digest: bc4f70989a2bdc35e5a4a9efe311a87ffcef3e0acb5ee704a010d49ecb372765 + home: https://github.com/timescale/timescaledb-kubernetes + maintainers: + - email: support@timescale.com + name: TimescaleDB + name: timescaledb-multinode + sources: + - https://github.com/timescale/timescaledb-kubernetes + - https://github.com/timescale/timescaledb-docker-ha + - https://github.com/zalando/patroni + urls: + - timescaledb-multinode-0.8.2.tgz + version: 0.8.2 + - apiVersion: v1 + created: "2021-06-18T20:50:20.467628196+03:00" description: TimescaleDB Multinode Deployment. digest: e0729d1731fb22f769494b921b275153d625aebcbdb68c432c2ccd1897f4d66c home: https://github.com/timescale/timescaledb-kubernetes @@ -18,7 +34,7 @@ entries: - timescaledb-multinode-0.8.1.tgz version: 0.8.1 - apiVersion: v1 - created: "2021-05-13T13:09:01.246624251+03:00" + created: "2021-06-18T20:50:20.46677215+03:00" description: TimescaleDB Multinode Deployment. digest: 101d72220765f49e6b081c134c1f793bbe90d7f67a4f4c36c794be989e34623d home: https://github.com/timescale/timescaledb-kubernetes @@ -34,7 +50,7 @@ entries: - timescaledb-multinode-0.8.0.tgz version: 0.8.0 - apiVersion: v1 - created: "2021-05-13T13:09:01.245629073+03:00" + created: "2021-06-18T20:50:20.465969438+03:00" description: TimescaleDB Multinode Deployment. digest: db2bea7290cd265835e11859a39e72562c7e21f1a90df0401e14e05d7adea1d6 home: https://github.com/timescale/timescaledb-kubernetes @@ -50,7 +66,7 @@ entries: - timescaledb-multinode-0.7.0.tgz version: 0.7.0 - apiVersion: v1 - created: "2021-05-13T13:09:01.244786115+03:00" + created: "2021-06-18T20:50:20.465038522+03:00" description: TimescaleDB Multinode Deployment. digest: d537d361eb0f72bce12d8e4f993dbc980f7850a22bb1a7bcd8825a7a4a00d38f home: https://github.com/timescale/timescaledb-kubernetes @@ -66,7 +82,7 @@ entries: - timescaledb-multinode-0.6.3.tgz version: 0.6.3 - apiVersion: v1 - created: "2021-05-13T13:09:01.243937539+03:00" + created: "2021-06-18T20:50:20.464148867+03:00" description: TimescaleDB Multinode Deployment. digest: a6c664a75489e069cdd2d36dff87ca6d2b3a38a3edf16de4234418b354e40eea home: https://github.com/timescale/timescaledb-kubernetes @@ -83,7 +99,7 @@ entries: version: 0.3.0 timescaledb-single: - apiVersion: v1 - created: "2021-05-13T13:09:01.289668593+03:00" + created: "2021-06-18T20:50:20.512155388+03:00" description: TimescaleDB HA Deployment. digest: 8bb26c938538e767a0da086f7535e1b81fa03af292becf44d406d7a8d8da9321 home: https://github.com/timescale/timescaledb-kubernetes @@ -99,7 +115,7 @@ entries: - timescaledb-single-0.9.0.tgz version: 0.9.0 - apiVersion: v1 - created: "2021-05-13T13:09:01.287079814+03:00" + created: "2021-06-18T20:50:20.509473707+03:00" description: TimescaleDB HA Deployment. digest: a976fc399539e012942a3e55dce1d735c5c36bb4678e57a66ac7d280c8bfceb9 home: https://github.com/timescale/timescaledb-kubernetes @@ -115,7 +131,7 @@ entries: - timescaledb-single-0.8.2.tgz version: 0.8.2 - apiVersion: v1 - created: "2021-05-13T13:09:01.284499288+03:00" + created: "2021-06-18T20:50:20.506832633+03:00" description: TimescaleDB HA Deployment. digest: d047ac65b447b75f748c6fe94cec7ed208e91c20b42eb912baa7aa4f4131518c home: https://github.com/timescale/timescaledb-kubernetes @@ -131,7 +147,7 @@ entries: - timescaledb-single-0.8.1.tgz version: 0.8.1 - apiVersion: v1 - created: "2021-05-13T13:09:01.28137738+03:00" + created: "2021-06-18T20:50:20.50414541+03:00" description: TimescaleDB HA Deployment. digest: 63a9d362ea53efbe6103b8fd0cf07400aa2ccb090740eda213f862d588320c79 home: https://github.com/timescale/timescaledb-kubernetes @@ -147,7 +163,7 @@ entries: - timescaledb-single-0.8.0.tgz version: 0.8.0 - apiVersion: v1 - created: "2021-05-13T13:09:01.278776541+03:00" + created: "2021-06-18T20:50:20.500984727+03:00" description: TimescaleDB HA Deployment. digest: 1948357489eff42eb81bcb59a465615e20b791dc54178d1bbaf1a650b7f46de1 home: https://github.com/timescale/timescaledb-kubernetes @@ -163,7 +179,7 @@ entries: - timescaledb-single-0.7.1.tgz version: 0.7.1 - apiVersion: v1 - created: "2021-05-13T13:09:01.276469421+03:00" + created: "2021-06-18T20:50:20.498558081+03:00" description: TimescaleDB HA Deployment. digest: 39e270f51713dd0f2be64c8a80d747bc1e78173fd3e2c6172ff993f9a7dacd1b home: https://github.com/timescale/timescaledb-kubernetes @@ -179,7 +195,7 @@ entries: - timescaledb-single-0.7.0.tgz version: 0.7.0 - apiVersion: v1 - created: "2021-05-13T13:09:01.274253356+03:00" + created: "2021-06-18T20:50:20.496179858+03:00" description: TimescaleDB HA Deployment. digest: 463bf4eca84cbefbd2e4a88928fe1ccc59a69fb95a4952ce15ca746adb479a29 home: https://github.com/timescale/timescaledb-kubernetes @@ -195,7 +211,7 @@ entries: - timescaledb-single-0.6.2.tgz version: 0.6.2 - apiVersion: v1 - created: "2021-05-13T13:09:01.271762387+03:00" + created: "2021-06-18T20:50:20.494042405+03:00" description: TimescaleDB HA Deployment. digest: 8ad82438d3fc818e6729afa77607521b7510b68fa4e0b4e7d0836f33990f0a63 home: https://github.com/timescale/timescaledb-kubernetes @@ -211,7 +227,7 @@ entries: - timescaledb-single-0.6.1.tgz version: 0.6.1 - apiVersion: v1 - created: "2021-05-13T13:09:01.269739924+03:00" + created: "2021-06-18T20:50:20.49118191+03:00" description: TimescaleDB HA Deployment. digest: b1c985faf6852aea91e6931230d19656f126fb7eabff004e92ffa2fb411cfbe2 home: https://github.com/timescale/timescaledb-kubernetes @@ -227,7 +243,7 @@ entries: - timescaledb-single-0.6.0.tgz version: 0.6.0 - apiVersion: v1 - created: "2021-05-13T13:09:01.267672714+03:00" + created: "2021-06-18T20:50:20.489056089+03:00" description: TimescaleDB HA Deployment. digest: 977ccd3dfe52e84a18e9ecf8c4138a937621910f743071fff58b497c357afb7c home: https://github.com/timescale/timescaledb-kubernetes @@ -243,7 +259,7 @@ entries: - timescaledb-single-0.5.8.tgz version: 0.5.8 - apiVersion: v1 - created: "2021-05-13T13:09:01.265591514+03:00" + created: "2021-06-18T20:50:20.486950049+03:00" description: TimescaleDB HA Deployment. digest: 069c515c7055289ecf8189962e648e033053e8e7bdb47c39f9ec058e99911183 home: https://github.com/timescale/timescaledb-kubernetes @@ -259,7 +275,7 @@ entries: - timescaledb-single-0.5.7.tgz version: 0.5.7 - apiVersion: v1 - created: "2021-05-13T13:09:01.263428848+03:00" + created: "2021-06-18T20:50:20.484773378+03:00" description: TimescaleDB HA Deployment. digest: f0c9b30a4bf3d3e9c221efa37946bef05bad7fe79eb1808a7c8088c2d24e1075 home: https://github.com/timescale/timescaledb-kubernetes @@ -275,7 +291,7 @@ entries: - timescaledb-single-0.5.6.tgz version: 0.5.6 - apiVersion: v1 - created: "2021-05-13T13:09:01.260465687+03:00" + created: "2021-06-18T20:50:20.482054131+03:00" description: TimescaleDB HA Deployment. digest: 27098601d61f727ac71c2bfb67a1240c99188fc56ab4d0a0375cf5abc09547dc home: https://github.com/timescale/timescaledb-kubernetes @@ -291,7 +307,7 @@ entries: - timescaledb-single-0.5.5.tgz version: 0.5.5 - apiVersion: v1 - created: "2021-05-13T13:09:01.258470296+03:00" + created: "2021-06-18T20:50:20.479821868+03:00" description: TimescaleDB HA Deployment. digest: 5bd289b789c7fae00b98ae9d1ce0b86e6b8463fbe4fbdaf20d59b60aca137580 home: https://github.com/timescale/timescaledb-kubernetes @@ -307,7 +323,7 @@ entries: - timescaledb-single-0.5.4.tgz version: 0.5.4 - apiVersion: v1 - created: "2021-05-13T13:09:01.256537783+03:00" + created: "2021-06-18T20:50:20.477591479+03:00" description: TimescaleDB HA Deployment. digest: 6cd19bcb822c9610ad13fbe49b03c3bd9d5f4655920b44e41f937487ecf86d9d home: https://github.com/timescale/timescaledb-kubernetes @@ -323,7 +339,7 @@ entries: - timescaledb-single-0.5.3.tgz version: 0.5.3 - apiVersion: v1 - created: "2021-05-13T13:09:01.254878767+03:00" + created: "2021-06-18T20:50:20.475930435+03:00" description: TimescaleDB HA Deployment. digest: 9e2570426e0445a2e4f079fe757bbaadbc95a764c12ce10903f426d3b69cfde9 home: https://github.com/timescale/timescaledb-kubernetes @@ -339,7 +355,7 @@ entries: - timescaledb-single-0.5.2.tgz version: 0.5.2 - apiVersion: v1 - created: "2021-05-13T13:09:01.253205762+03:00" + created: "2021-06-18T20:50:20.474185982+03:00" description: TimescaleDB HA Deployment. digest: 128a7f0738f176a2abe6b7e1c3a1173ac6c4a77f7816704add3f0664609915aa home: https://github.com/timescale/timescaledb-kubernetes @@ -355,7 +371,7 @@ entries: - timescaledb-single-0.5.1.tgz version: 0.5.1 - apiVersion: v1 - created: "2021-05-13T13:09:01.25158199+03:00" + created: "2021-06-18T20:50:20.472518425+03:00" description: TimescaleDB HA Deployment. digest: f4e0e05c989f04c78d9bd0a5b7ab2c6e1d2227af72ad05f7451a3e01b462bba0 home: https://github.com/timescale/timescaledb-kubernetes @@ -371,7 +387,7 @@ entries: - timescaledb-single-0.5.0.tgz version: 0.5.0 - apiVersion: v1 - created: "2021-05-13T13:09:01.249941877+03:00" + created: "2021-06-18T20:50:20.470272739+03:00" description: TimescaleDB HA Deployment. digest: 2ae9d4a4ba25caf626e837244bf092721439e822d486f2c17f238b479012dedb home: https://github.com/timescale/timescaledb-kubernetes @@ -386,4 +402,4 @@ entries: urls: - timescaledb-single-0.4.0.tgz version: 0.4.0 -generated: "2021-05-13T13:09:01.243032071+03:00" +generated: "2021-06-18T20:50:20.463120355+03:00" diff --git a/charts/repo/timescaledb-multinode-0.8.2.tgz b/charts/repo/timescaledb-multinode-0.8.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..86c9e808a03ec3c749c54940b2688f0204fc616b GIT binary patch literal 11094 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 literal 0 HcmV?d00001 diff --git a/charts/timescaledb-multinode/Chart.yaml b/charts/timescaledb-multinode/Chart.yaml index 68d121c4..816cf19f 100644 --- a/charts/timescaledb-multinode/Chart.yaml +++ b/charts/timescaledb-multinode/Chart.yaml @@ -4,7 +4,7 @@ apiVersion: v1 name: timescaledb-multinode description: 'TimescaleDB Multinode Deployment.' -version: 0.8.1 +version: 0.8.2 # appVersion specifies the version of the software, which can vary wildly, # e.g. TimescaleDB 1.4.1 on PostgreSQL 11 or TimescaleDB 1.5.0 on PostgreSQL 12. # https://github.com/helm/helm/blob/master/docs/charts.md#the-appversion-field From 6576fb1e29313f44d6d78784d7e50b9a7e8127c5 Mon Sep 17 00:00:00 2001 From: raresfirebolt Date: Fri, 18 Jun 2021 20:57:33 +0300 Subject: [PATCH 5/9] reorder params --- charts/timescaledb-multinode/values.yaml | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/charts/timescaledb-multinode/values.yaml b/charts/timescaledb-multinode/values.yaml index a48c7090..9469f495 100644 --- a/charts/timescaledb-multinode/values.yaml +++ b/charts/timescaledb-multinode/values.yaml @@ -56,7 +56,6 @@ postgresql: # cpu: 100m # memory: 128Mi parameters: - max_connections: 100 max_prepared_transactions: 150 # This is rather small, but as this Helm Chart may be used to spin up # 1 access node and 4 data nodes on a single minikube/microk8s this is set @@ -64,12 +63,6 @@ postgresql: shared_buffers: 300MB work_mem: 16MB timescaledb.passfile: '../.pgpass' - log_connections: 'on' - log_line_prefix: "%t [%p]: [%c-%l] %u@%d,app=%a [%e] " - log_min_duration_statement: '1s' - log_statement: ddl - log_checkpoints: 'on' - log_lock_waits: 'on' # These values are set as the default data volume size # is small as well. min_wal_size: 256MB @@ -98,6 +91,21 @@ postgresql: parameters: enable_partitionwise_aggregate: on jit: off + max_connections: 100 + shared_buffers: 300MB + work_mem: 16MB + timescaledb.passfile: '../.pgpass' + log_connections: 'on' + log_line_prefix: "%t [%p]: [%c-%l] %u@%d,app=%a [%e] " + log_min_duration_statement: '1s' + log_statement: ddl + log_checkpoints: 'on' + log_lock_waits: 'on' + # These values are set as the default data volume size + # is small as well. + min_wal_size: 256MB + max_wal_size: 512MB + temp_file_limit: 1GB persistentVolume: enabled: true From f28114c6ccba4c4c80d67198e2cf50fdbcaee5e3 Mon Sep 17 00:00:00 2001 From: raresfirebolt Date: Wed, 23 Jun 2021 10:22:59 +0300 Subject: [PATCH 6/9] split config each node --- charts/timescaledb-multinode/Chart.yaml | 2 +- .../templates/job-attach-datanode.yaml | 4 +- .../templates/job-create-databases.yaml | 2 +- .../statefulset-timescaledb-accessnode.yaml | 30 +++---- .../statefulset-timescaledb-datanode.yaml | 32 +++---- .../templates/svc-timescaledb-access.yaml | 2 +- charts/timescaledb-multinode/values.yaml | 86 +++++++++---------- 7 files changed, 78 insertions(+), 80 deletions(-) diff --git a/charts/timescaledb-multinode/Chart.yaml b/charts/timescaledb-multinode/Chart.yaml index 816cf19f..4750bd35 100644 --- a/charts/timescaledb-multinode/Chart.yaml +++ b/charts/timescaledb-multinode/Chart.yaml @@ -4,7 +4,7 @@ apiVersion: v1 name: timescaledb-multinode description: 'TimescaleDB Multinode Deployment.' -version: 0.8.2 +version: 0.9.0 # appVersion specifies the version of the software, which can vary wildly, # e.g. TimescaleDB 1.4.1 on PostgreSQL 11 or TimescaleDB 1.5.0 on PostgreSQL 12. # https://github.com/helm/helm/blob/master/docs/charts.md#the-appversion-field diff --git a/charts/timescaledb-multinode/templates/job-attach-datanode.yaml b/charts/timescaledb-multinode/templates/job-attach-datanode.yaml index ea706c99..27d22a59 100644 --- a/charts/timescaledb-multinode/templates/job-attach-datanode.yaml +++ b/charts/timescaledb-multinode/templates/job-attach-datanode.yaml @@ -1,8 +1,8 @@ # This file and its contents are licensed under the Apache License 2.0. # Please see the included NOTICE for copyright information and LICENSE for a copy of the license. -{{- range $pod, $e := until ( .Values.dataNodes | int) }} -{{- range $index, $dbname := $.Values.postgresql.databases }} +{{- range $pod, $e := until ( .Values.data_node.replicas | int) }} +{{- range $index, $dbname := $.Values.access_node.postgresql.databases }} --- apiVersion: batch/v1 kind: Job diff --git a/charts/timescaledb-multinode/templates/job-create-databases.yaml b/charts/timescaledb-multinode/templates/job-create-databases.yaml index 9b4fae33..f822edb6 100644 --- a/charts/timescaledb-multinode/templates/job-create-databases.yaml +++ b/charts/timescaledb-multinode/templates/job-create-databases.yaml @@ -1,7 +1,7 @@ # This file and its contents are licensed under the Apache License 2.0. # Please see the included NOTICE for copyright information and LICENSE for a copy of the license. -{{- range $index, $dbname := .Values.postgresql.databases }} +{{- range $index, $dbname := .Values.access_node.postgresql.databases }} --- apiVersion: batch/v1 kind: Job diff --git a/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml b/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml index fbae8026..5fe5d592 100644 --- a/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml +++ b/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml @@ -44,7 +44,7 @@ spec: env: - name: POSTGRESQL_CUSTOM_PARAMETERS value: | - {{- range $key, $value := .Values.postgresql.access_node.parameters }} + {{- range $key, $value := .Values.access_node.postgresql.parameters }} {{ printf "%s = '%s'" $key ($value | toString) }} {{- end }} - name: POSTGRES_PASSWORD @@ -81,8 +81,8 @@ spec: chmod 0600 "${PGDATA}/../.pgpass" volumeMounts: - name: storage-volume - mountPath: "{{ .Values.postgresql.access_node.persistentVolume.mountPath }}" - subPath: "{{ .Values.postgresql.access_node.persistentVolume.subPath }}" + mountPath: "{{ .Values.access_node.postgresql.persistentVolume.mountPath }}" + subPath: "{{ .Values.access_node.postgresql.persistentVolume.subPath }}" containers: - name: timescaledb securityContext: @@ -107,10 +107,10 @@ spec: - containerPort: 5432 volumeMounts: - name: storage-volume - mountPath: "{{ .Values.postgresql.access_node.persistentVolume.mountPath }}" - subPath: "{{ .Values.postgresql.access_node.persistentVolume.subPath }}" + mountPath: "{{ .Values.access_node.postgresql.persistentVolume.mountPath }}" + subPath: "{{ .Values.access_node.postgresql.persistentVolume.subPath }}" resources: -{{ toYaml .Values.postgresql.access_node.resources | indent 10 }} +{{ toYaml .Values.access_node.postgresql.resources | indent 10 }} {{- with .Values.nodeSelector }} nodeSelector: {{ toYaml . | indent 8 }} @@ -129,17 +129,17 @@ spec: affinity: {{ tpl .Values.affinityTemplate . | indent 8 }} {{- end }} - {{- if not .Values.postgresql.access_node.persistentVolume.enabled }} + {{- if not .Values.access_node.postgresql.persistentVolume.enabled }} - name: storage-volume emptyDir: {} {{- end }} - {{- if .Values.postgresql.access_node.persistentVolume.enabled }} + {{- if .Values.access_node.postgresql.persistentVolume.enabled }} volumeClaimTemplates: - metadata: name: storage-volume annotations: - {{- if .Values.postgresql.access_node.persistentVolume.annotations }} -{{ toYaml .Values.postgresql.access_node.persistentVolume.annotations | indent 8 }} + {{- if .Values.access_node.postgresql.persistentVolume.annotations }} +{{ toYaml .Values.access_node.postgresql.persistentVolume.annotations | indent 8 }} {{- end }} labels: app: {{ template "timescaledb.fullname" . }} @@ -147,15 +147,15 @@ spec: heritage: {{ .Release.Service }} spec: accessModes: -{{ toYaml .Values.postgresql.access_node.persistentVolume.accessModes | indent 8 }} +{{ toYaml .Values.access_node.postgresql.persistentVolume.accessModes | indent 8 }} resources: requests: - storage: "{{ .Values.postgresql.access_node.persistentVolume.size }}" - {{- if .Values.postgresql.access_node.persistentVolume.storageClass }} - {{- if (eq "-" .Values.postgresql.access_node.persistentVolume.storageClass) }} + storage: "{{ .Values.access_node.postgresql.persistentVolume.size }}" + {{- if .Values.access_node.postgresql.persistentVolume.storageClass }} + {{- if (eq "-" .Values.access_node.postgresql.persistentVolume.storageClass) }} storageClassName: "" {{- else }} - storageClassName: "{{ .Values.postgresql.access_node.persistentVolume.storageClass }}" + storageClassName: "{{ .Values.access_node.postgresql.persistentVolume.storageClass }}" {{- end }} {{- end }} {{- end }} diff --git a/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml b/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml index 342599fa..572c3df0 100644 --- a/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml +++ b/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml @@ -12,7 +12,7 @@ metadata: heritage: {{ .Release.Service }} spec: serviceName: {{ template "timescaledb.dataname" . }} - replicas: {{ .Values.dataNodes }} + replicas: {{ .Values.data_node.replicas }} podManagementPolicy: Parallel selector: matchLabels: @@ -44,7 +44,7 @@ spec: env: - name: POSTGRESQL_CUSTOM_PARAMETERS value: | - {{- range $key, $value := .Values.postgresql.data_node.parameters }} + {{- range $key, $value := .Values.data_node.postgresql.parameters }} {{ printf "%s = '%s'" $key ($value | toString) }} {{- end }} - name: POSTGRES_PASSWORD @@ -76,8 +76,8 @@ spec: echo "DROP EXTENSION timescaledb" | /docker-entrypoint.sh postgres --single -D "${PGDATA}" template1 volumeMounts: - name: storage-volume - mountPath: "{{ .Values.postgresql.data_node.persistentVolume.mountPath }}" - subPath: "{{ .Values.postgresql.data_node.persistentVolume.subPath }}" + mountPath: "{{ .Values.data_node.postgresql.persistentVolume.mountPath }}" + subPath: "{{ .Values.data_node.postgresql.persistentVolume.subPath }}" containers: - name: timescaledb securityContext: @@ -102,10 +102,10 @@ spec: - containerPort: 5432 volumeMounts: - name: storage-volume - mountPath: "{{ .Values.postgresql.data_node.persistentVolume.mountPath }}" - subPath: "{{ .Values.postgresql.data_node.persistentVolume.subPath }}" + mountPath: "{{ .Values.data_node.postgresql.persistentVolume.mountPath }}" + subPath: "{{ .Values.data_node.postgresql.persistentVolume.subPath }}" resources: -{{ toYaml .Values.postgresql.data_node.resources | indent 10 }} +{{ toYaml .Values.data_node.postgresql.resources | indent 10 }} {{- with .Values.nodeSelector }} nodeSelector: {{ toYaml . | indent 8 }} @@ -124,17 +124,17 @@ spec: affinity: {{ tpl .Values.affinityTemplate . | indent 8 }} {{- end }} - {{- if not .Values.postgresql.data_node.persistentVolume.enabled }} + {{- if not .Values.data_node.postgresql.persistentVolume.enabled }} - name: storage-volume emptyDir: {} {{- end }} - {{- if .Values.postgresql.data_node.persistentVolume.enabled }} + {{- if .Values.data_node.postgresql.persistentVolume.enabled }} volumeClaimTemplates: - metadata: name: storage-volume annotations: - {{- if .Values.postgresql.data_node.persistentVolume.annotations }} -{{ toYaml .Values.postgresql.data_node.persistentVolume.annotations | indent 8 }} + {{- if .Values.data_node.postgresql.persistentVolume.annotations }} +{{ toYaml .Values.data_node.postgresql.persistentVolume.annotations | indent 8 }} {{- end }} labels: app: {{ template "timescaledb.fullname" . }} @@ -142,15 +142,15 @@ spec: heritage: {{ .Release.Service }} spec: accessModes: -{{ toYaml .Values.postgresql.data_node.persistentVolume.accessModes | indent 8 }} +{{ toYaml .Values.data_node.postgresql.persistentVolume.accessModes | indent 8 }} resources: requests: - storage: "{{ .Values.postgresql.data_node.persistentVolume.size }}" - {{- if .Values.postgresql.data_node.persistentVolume.storageClass }} - {{- if (eq "-" .Values.postgresql.data_node.persistentVolume.storageClass) }} + storage: "{{ .Values.data_node.postgresql.persistentVolume.size }}" + {{- if .Values.data_node.postgresql.persistentVolume.storageClass }} + {{- if (eq "-" .Values.data_node.postgresql.persistentVolume.storageClass) }} storageClassName: "" {{- else }} - storageClassName: "{{ .Values.postgresql.data_node.persistentVolume.storageClass }}" + storageClassName: "{{ .Values.data_node.postgresql.persistentVolume.storageClass }}" {{- end }} {{- end }} {{- end }} diff --git a/charts/timescaledb-multinode/templates/svc-timescaledb-access.yaml b/charts/timescaledb-multinode/templates/svc-timescaledb-access.yaml index 4362c4b8..01b030b3 100644 --- a/charts/timescaledb-multinode/templates/svc-timescaledb-access.yaml +++ b/charts/timescaledb-multinode/templates/svc-timescaledb-access.yaml @@ -14,7 +14,7 @@ metadata: annotations: service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "4000" spec: - type: {{ .Values.accessNode.service.type }} + type: {{ .Values.access_node.service.type }} ports: - name: postgresql port: 5432 diff --git a/charts/timescaledb-multinode/values.yaml b/charts/timescaledb-multinode/values.yaml index 9469f495..ef66e01e 100644 --- a/charts/timescaledb-multinode/values.yaml +++ b/charts/timescaledb-multinode/values.yaml @@ -1,8 +1,6 @@ # This file and its contents are licensed under the Apache License 2.0. # Please see the included NOTICE for copyright information and LICENSE for a copy of the license. -dataNodes: 3 - # To prevent very long names, we override the name, otherwise it would default to # timescaledb-multinode (the name of the chart) nameOverride: timescaledb @@ -14,11 +12,6 @@ image: tag: pg12-ts2.0.0-p0 pullPolicy: IfNotPresent -#enable external access using LoadBalancer -accessNode: - service: - type: LoadBalancer - # Credentials used by PostgreSQL credentials: fromValues: true @@ -41,28 +34,28 @@ env: # a Docker Volume in many Docker images, which means the data is not actually persisted. value: /var/lib/postgresql/pgdata -postgresql: - databases: - - postgres - - example - data_node: - resources: {} - # If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi +access_node: + #enable external access using LoadBalancer + service: + type: LoadBalancer + resources: {} + postgresql: + databases: + - postgres + - example parameters: - max_prepared_transactions: 150 - # This is rather small, but as this Helm Chart may be used to spin up - # 1 access node and 4 data nodes on a single minikube/microk8s this is set - # to a conservative value + enable_partitionwise_aggregate: on + jit: off + max_connections: 100 shared_buffers: 300MB work_mem: 16MB timescaledb.passfile: '../.pgpass' + log_connections: 'on' + log_line_prefix: "%t [%p]: [%c-%l] %u@%d,app=%a [%e] " + log_min_duration_statement: '1s' + log_statement: ddl + log_checkpoints: 'on' + log_lock_waits: 'on' # These values are set as the default data volume size # is small as well. min_wal_size: 256MB @@ -72,35 +65,32 @@ postgresql: persistentVolume: enabled: true size: 5G - ## database data Persistent Volume Storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" subPath: "" mountPath: "/var/lib/postgresql" annotations: {} accessModes: - ReadWriteOnce - access_node: - resources: {} +data_node: + replicas: 3 + resources: {} + # If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + postgresql: parameters: - enable_partitionwise_aggregate: on - jit: off - max_connections: 100 + max_prepared_transactions: 150 + # This is rather small, but as this Helm Chart may be used to spin up + # 1 access node and 4 data nodes on a single minikube/microk8s this is set + # to a conservative value shared_buffers: 300MB work_mem: 16MB timescaledb.passfile: '../.pgpass' - log_connections: 'on' - log_line_prefix: "%t [%p]: [%c-%l] %u@%d,app=%a [%e] " - log_min_duration_statement: '1s' - log_statement: ddl - log_checkpoints: 'on' - log_lock_waits: 'on' # These values are set as the default data volume size # is small as well. min_wal_size: 256MB @@ -110,6 +100,14 @@ postgresql: persistentVolume: enabled: true size: 5G + ## database data Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + # storageClass: "-" subPath: "" mountPath: "/var/lib/postgresql" annotations: {} From 49fb4a571bf44d455448ed149a33a7002be0d68e Mon Sep 17 00:00:00 2001 From: raresfirebolt Date: Thu, 24 Jun 2021 15:14:11 +0300 Subject: [PATCH 7/9] variable camelcase --- charts/timescaledb-multinode/admin-guide.md | 5 +-- .../templates/job-attach-datanode.yaml | 4 +- .../templates/job-create-databases.yaml | 2 +- .../statefulset-timescaledb-accessnode.yaml | 39 ++++++++---------- .../statefulset-timescaledb-datanode.yaml | 41 ++++++++----------- .../templates/svc-timescaledb-access.yaml | 2 +- charts/timescaledb-multinode/values.yaml | 29 ++++--------- 7 files changed, 50 insertions(+), 72 deletions(-) diff --git a/charts/timescaledb-multinode/admin-guide.md b/charts/timescaledb-multinode/admin-guide.md index 4a324b89..1fafe844 100644 --- a/charts/timescaledb-multinode/admin-guide.md +++ b/charts/timescaledb-multinode/admin-guide.md @@ -29,8 +29,7 @@ The following table lists the configurable parameters of the TimescaleDB Helm ch | `env` | Extra custom environment variables, expressed as [EnvVar](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.16/#envvarsource-v1-core) | `PGDATA` and some language settings | | `resources` | Any resources you wish to assign to the pod | `{}` | | `nodeSelector` | Node label to use for scheduling | `{}` | -| `tolerations` | List of node taints to tolerate | `[]` | -| `affinityTemplate` | A template string to use to generate the affinity settings | Anti-affinity preferred on hostname | +| `tolerations` | List of node taints to tolerate | `[]` | `affinity` | Affinity settings. Overrides `affinityTemplate` if set. | `{}` | | `postgresql.databases` | List of databases to automatically create a multinode setup for | `["postgres", "example"]` | | `postgresql.parameters` | [PostgreSQL parameters](https://www.postgresql.org/docs/current/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE)) | Some required and preferred settings | @@ -123,7 +122,7 @@ kubectl logs $(kubectl get pod -l release=my-release,timescaleNodeType=access) t ### Verify multinode topology ```console -$ kubectl exec -ti $(kubectl get pod -l timescaleNodeType=access -o name) -c timescaledb -- psql -d example -c 'select node_name from timescaledb_information.data_nodes' +$ kubectl exec -ti $(kubectl get pod -l timescaleNodeType=access -o name) -c timescaledb -- psql -d example -c 'select node_name from timescaledb_information.dataNodes' ``` ```text node_name diff --git a/charts/timescaledb-multinode/templates/job-attach-datanode.yaml b/charts/timescaledb-multinode/templates/job-attach-datanode.yaml index 27d22a59..91eadf2c 100644 --- a/charts/timescaledb-multinode/templates/job-attach-datanode.yaml +++ b/charts/timescaledb-multinode/templates/job-attach-datanode.yaml @@ -1,8 +1,8 @@ # This file and its contents are licensed under the Apache License 2.0. # Please see the included NOTICE for copyright information and LICENSE for a copy of the license. -{{- range $pod, $e := until ( .Values.data_node.replicas | int) }} -{{- range $index, $dbname := $.Values.access_node.postgresql.databases }} +{{- range $pod, $e := until ( .Values.dataNode.replicas | int) }} +{{- range $index, $dbname := $.Values.accessNode.postgresql.databases }} --- apiVersion: batch/v1 kind: Job diff --git a/charts/timescaledb-multinode/templates/job-create-databases.yaml b/charts/timescaledb-multinode/templates/job-create-databases.yaml index f822edb6..c44a63cf 100644 --- a/charts/timescaledb-multinode/templates/job-create-databases.yaml +++ b/charts/timescaledb-multinode/templates/job-create-databases.yaml @@ -1,7 +1,7 @@ # This file and its contents are licensed under the Apache License 2.0. # Please see the included NOTICE for copyright information and LICENSE for a copy of the license. -{{- range $index, $dbname := .Values.access_node.postgresql.databases }} +{{- range $index, $dbname := .Values.accessNode.postgresql.databases }} --- apiVersion: batch/v1 kind: Job diff --git a/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml b/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml index 5fe5d592..e2fdb91e 100644 --- a/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml +++ b/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml @@ -44,7 +44,7 @@ spec: env: - name: POSTGRESQL_CUSTOM_PARAMETERS value: | - {{- range $key, $value := .Values.access_node.postgresql.parameters }} + {{- range $key, $value := .Values.accessNode.postgresql.parameters }} {{ printf "%s = '%s'" $key ($value | toString) }} {{- end }} - name: POSTGRES_PASSWORD @@ -81,8 +81,8 @@ spec: chmod 0600 "${PGDATA}/../.pgpass" volumeMounts: - name: storage-volume - mountPath: "{{ .Values.access_node.postgresql.persistentVolume.mountPath }}" - subPath: "{{ .Values.access_node.postgresql.persistentVolume.subPath }}" + mountPath: "{{ .Values.accessNode.postgresql.persistentVolume.mountPath }}" + subPath: "{{ .Values.accessNode.postgresql.persistentVolume.subPath }}" containers: - name: timescaledb securityContext: @@ -107,39 +107,34 @@ spec: - containerPort: 5432 volumeMounts: - name: storage-volume - mountPath: "{{ .Values.access_node.postgresql.persistentVolume.mountPath }}" - subPath: "{{ .Values.access_node.postgresql.persistentVolume.subPath }}" + mountPath: "{{ .Values.accessNode.postgresql.persistentVolume.mountPath }}" + subPath: "{{ .Values.accessNode.postgresql.persistentVolume.subPath }}" resources: -{{ toYaml .Values.access_node.postgresql.resources | indent 10 }} - {{- with .Values.nodeSelector }} +{{ toYaml .Values.accessNode.postgresql.resources | indent 10 }} + {{- with .Values.accessNode.nodeSelector }} nodeSelector: {{ toYaml . | indent 8 }} {{- end }} - {{- with .Values.tolerations }} + {{- with .Values.accessNode.tolerations }} tolerations: {{ toYaml . | indent 8 }} {{- end }} {{- if .Values.schedulerName }} schedulerName: {{ .Values.schedulerName }} {{- end }} - {{- if .Values.affinity }} affinity: {{ .Values.affinity | toYaml | indent 8 }} - {{- else if .Values.affinityTemplate }} - affinity: -{{ tpl .Values.affinityTemplate . | indent 8 }} - {{- end }} - {{- if not .Values.access_node.postgresql.persistentVolume.enabled }} + {{- if not .Values.accessNode.postgresql.persistentVolume.enabled }} - name: storage-volume emptyDir: {} {{- end }} - {{- if .Values.access_node.postgresql.persistentVolume.enabled }} + {{- if .Values.accessNode.postgresql.persistentVolume.enabled }} volumeClaimTemplates: - metadata: name: storage-volume annotations: - {{- if .Values.access_node.postgresql.persistentVolume.annotations }} -{{ toYaml .Values.access_node.postgresql.persistentVolume.annotations | indent 8 }} + {{- if .Values.accessNode.postgresql.persistentVolume.annotations }} +{{ toYaml .Values.accessNode.postgresql.persistentVolume.annotations | indent 8 }} {{- end }} labels: app: {{ template "timescaledb.fullname" . }} @@ -147,15 +142,15 @@ spec: heritage: {{ .Release.Service }} spec: accessModes: -{{ toYaml .Values.access_node.postgresql.persistentVolume.accessModes | indent 8 }} +{{ toYaml .Values.accessNode.postgresql.persistentVolume.accessModes | indent 8 }} resources: requests: - storage: "{{ .Values.access_node.postgresql.persistentVolume.size }}" - {{- if .Values.access_node.postgresql.persistentVolume.storageClass }} - {{- if (eq "-" .Values.access_node.postgresql.persistentVolume.storageClass) }} + storage: "{{ .Values.accessNode.postgresql.persistentVolume.size }}" + {{- if .Values.accessNode.postgresql.persistentVolume.storageClass }} + {{- if (eq "-" .Values.accessNode.postgresql.persistentVolume.storageClass) }} storageClassName: "" {{- else }} - storageClassName: "{{ .Values.access_node.postgresql.persistentVolume.storageClass }}" + storageClassName: "{{ .Values.accessNode.postgresql.persistentVolume.storageClass }}" {{- end }} {{- end }} {{- end }} diff --git a/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml b/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml index 572c3df0..ad26c648 100644 --- a/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml +++ b/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml @@ -12,7 +12,7 @@ metadata: heritage: {{ .Release.Service }} spec: serviceName: {{ template "timescaledb.dataname" . }} - replicas: {{ .Values.data_node.replicas }} + replicas: {{ .Values.dataNode.replicas }} podManagementPolicy: Parallel selector: matchLabels: @@ -44,7 +44,7 @@ spec: env: - name: POSTGRESQL_CUSTOM_PARAMETERS value: | - {{- range $key, $value := .Values.data_node.postgresql.parameters }} + {{- range $key, $value := .Values.dataNode.postgresql.parameters }} {{ printf "%s = '%s'" $key ($value | toString) }} {{- end }} - name: POSTGRES_PASSWORD @@ -76,8 +76,8 @@ spec: echo "DROP EXTENSION timescaledb" | /docker-entrypoint.sh postgres --single -D "${PGDATA}" template1 volumeMounts: - name: storage-volume - mountPath: "{{ .Values.data_node.postgresql.persistentVolume.mountPath }}" - subPath: "{{ .Values.data_node.postgresql.persistentVolume.subPath }}" + mountPath: "{{ .Values.dataNode.postgresql.persistentVolume.mountPath }}" + subPath: "{{ .Values.dataNode.postgresql.persistentVolume.subPath }}" containers: - name: timescaledb securityContext: @@ -102,39 +102,34 @@ spec: - containerPort: 5432 volumeMounts: - name: storage-volume - mountPath: "{{ .Values.data_node.postgresql.persistentVolume.mountPath }}" - subPath: "{{ .Values.data_node.postgresql.persistentVolume.subPath }}" + mountPath: "{{ .Values.dataNode.postgresql.persistentVolume.mountPath }}" + subPath: "{{ .Values.dataNode.postgresql.persistentVolume.subPath }}" resources: -{{ toYaml .Values.data_node.postgresql.resources | indent 10 }} - {{- with .Values.nodeSelector }} +{{ toYaml .Values.dataNode.postgresql.resources | indent 10 }} + {{- with .Values.dataNode.nodeSelector }} nodeSelector: {{ toYaml . | indent 8 }} {{- end }} - {{- with .Values.tolerations }} + {{- with .Values.dataNode.tolerations }} tolerations: {{ toYaml . | indent 8 }} {{- end }} {{- if .Values.schedulerName }} schedulerName: {{ .Values.schedulerName }} {{- end }} - {{- if .Values.affinity }} affinity: {{ .Values.affinity | toYaml | indent 8 }} - {{- else if .Values.affinityTemplate }} - affinity: -{{ tpl .Values.affinityTemplate . | indent 8 }} - {{- end }} - {{- if not .Values.data_node.postgresql.persistentVolume.enabled }} + {{- if not .Values.dataNode.postgresql.persistentVolume.enabled }} - name: storage-volume emptyDir: {} {{- end }} - {{- if .Values.data_node.postgresql.persistentVolume.enabled }} + {{- if .Values.dataNode.postgresql.persistentVolume.enabled }} volumeClaimTemplates: - metadata: name: storage-volume annotations: - {{- if .Values.data_node.postgresql.persistentVolume.annotations }} -{{ toYaml .Values.data_node.postgresql.persistentVolume.annotations | indent 8 }} + {{- if .Values.dataNode.postgresql.persistentVolume.annotations }} +{{ toYaml .Values.dataNode.postgresql.persistentVolume.annotations | indent 8 }} {{- end }} labels: app: {{ template "timescaledb.fullname" . }} @@ -142,15 +137,15 @@ spec: heritage: {{ .Release.Service }} spec: accessModes: -{{ toYaml .Values.data_node.postgresql.persistentVolume.accessModes | indent 8 }} +{{ toYaml .Values.dataNode.postgresql.persistentVolume.accessModes | indent 8 }} resources: requests: - storage: "{{ .Values.data_node.postgresql.persistentVolume.size }}" - {{- if .Values.data_node.postgresql.persistentVolume.storageClass }} - {{- if (eq "-" .Values.data_node.postgresql.persistentVolume.storageClass) }} + storage: "{{ .Values.dataNode.postgresql.persistentVolume.size }}" + {{- if .Values.dataNode.postgresql.persistentVolume.storageClass }} + {{- if (eq "-" .Values.dataNode.postgresql.persistentVolume.storageClass) }} storageClassName: "" {{- else }} - storageClassName: "{{ .Values.data_node.postgresql.persistentVolume.storageClass }}" + storageClassName: "{{ .Values.dataNode.postgresql.persistentVolume.storageClass }}" {{- end }} {{- end }} {{- end }} diff --git a/charts/timescaledb-multinode/templates/svc-timescaledb-access.yaml b/charts/timescaledb-multinode/templates/svc-timescaledb-access.yaml index 01b030b3..4362c4b8 100644 --- a/charts/timescaledb-multinode/templates/svc-timescaledb-access.yaml +++ b/charts/timescaledb-multinode/templates/svc-timescaledb-access.yaml @@ -14,7 +14,7 @@ metadata: annotations: service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "4000" spec: - type: {{ .Values.access_node.service.type }} + type: {{ .Values.accessNode.service.type }} ports: - name: postgresql port: 5432 diff --git a/charts/timescaledb-multinode/values.yaml b/charts/timescaledb-multinode/values.yaml index ef66e01e..57515298 100644 --- a/charts/timescaledb-multinode/values.yaml +++ b/charts/timescaledb-multinode/values.yaml @@ -34,7 +34,7 @@ env: # a Docker Volume in many Docker images, which means the data is not actually persisted. value: /var/lib/postgresql/pgdata -access_node: +accessNode: #enable external access using LoadBalancer service: type: LoadBalancer @@ -71,7 +71,11 @@ access_node: accessModes: - ReadWriteOnce -data_node: + nodeSelector: {} + tolerations: [] + affinity: {} + +dataNode: replicas: 3 resources: {} # If you do want to specify resources, uncomment the following @@ -114,24 +118,9 @@ data_node: accessModes: - ReadWriteOnce -# https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector -nodeSelector: {} - -# https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -tolerations: [] - -# https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -affinityTemplate: | - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - podAffinityTerm: - topologyKey: "kubernetes.io/hostname" - labelSelector: - matchLabels: - app: {{ template "timescaledb.name" . }} - release: {{ .Release.Name | quote }} -affinity: {} + nodeSelector: {} + tolerations: [] + affinity: {} ## Use an alternate scheduler, e.g. "stork". ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ From c5f6fc9030c92769156937a0dbb6776539e92f9c Mon Sep 17 00:00:00 2001 From: raresfirebolt Date: Thu, 24 Jun 2021 17:46:19 +0300 Subject: [PATCH 8/9] revert affinityTemplate --- charts/timescaledb-multinode/README.md | 2 + charts/timescaledb-multinode/admin-guide.md | 5 +- .../statefulset-timescaledb-accessnode.yaml | 31 ++++++---- .../statefulset-timescaledb-datanode.yaml | 31 ++++++---- charts/timescaledb-multinode/values.yaml | 62 ++++++++++++------- 5 files changed, 79 insertions(+), 52 deletions(-) diff --git a/charts/timescaledb-multinode/README.md b/charts/timescaledb-multinode/README.md index 68fddce0..1407b755 100644 --- a/charts/timescaledb-multinode/README.md +++ b/charts/timescaledb-multinode/README.md @@ -24,6 +24,7 @@ To install the chart as a release and name it `my-release`: ```console helm upgrade --install my-release . ``` +Configurations can be defined seprately for each node type - access node and data node. You can override parameters using the `--set key=value[,key=value]` argument to `helm upgrade --install`, e.g., to install the chart with randomly generated passwords: @@ -38,6 +39,7 @@ Alternatively, a YAML file that specifies the values for the parameters can be p ```console helm upgrade --install my-release -f myvalues.yaml . ``` + ### Secret override Instead of setting secrets in values.yaml, they can be manually generated. The following example is for timescaledb-access node and timescaledb-data node. diff --git a/charts/timescaledb-multinode/admin-guide.md b/charts/timescaledb-multinode/admin-guide.md index 1fafe844..4a324b89 100644 --- a/charts/timescaledb-multinode/admin-guide.md +++ b/charts/timescaledb-multinode/admin-guide.md @@ -29,7 +29,8 @@ The following table lists the configurable parameters of the TimescaleDB Helm ch | `env` | Extra custom environment variables, expressed as [EnvVar](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.16/#envvarsource-v1-core) | `PGDATA` and some language settings | | `resources` | Any resources you wish to assign to the pod | `{}` | | `nodeSelector` | Node label to use for scheduling | `{}` | -| `tolerations` | List of node taints to tolerate | `[]` +| `tolerations` | List of node taints to tolerate | `[]` | +| `affinityTemplate` | A template string to use to generate the affinity settings | Anti-affinity preferred on hostname | | `affinity` | Affinity settings. Overrides `affinityTemplate` if set. | `{}` | | `postgresql.databases` | List of databases to automatically create a multinode setup for | `["postgres", "example"]` | | `postgresql.parameters` | [PostgreSQL parameters](https://www.postgresql.org/docs/current/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE)) | Some required and preferred settings | @@ -122,7 +123,7 @@ kubectl logs $(kubectl get pod -l release=my-release,timescaleNodeType=access) t ### Verify multinode topology ```console -$ kubectl exec -ti $(kubectl get pod -l timescaleNodeType=access -o name) -c timescaledb -- psql -d example -c 'select node_name from timescaledb_information.dataNodes' +$ kubectl exec -ti $(kubectl get pod -l timescaleNodeType=access -o name) -c timescaledb -- psql -d example -c 'select node_name from timescaledb_information.data_nodes' ``` ```text node_name diff --git a/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml b/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml index e2fdb91e..8ba14880 100644 --- a/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml +++ b/charts/timescaledb-multinode/templates/statefulset-timescaledb-accessnode.yaml @@ -81,8 +81,8 @@ spec: chmod 0600 "${PGDATA}/../.pgpass" volumeMounts: - name: storage-volume - mountPath: "{{ .Values.accessNode.postgresql.persistentVolume.mountPath }}" - subPath: "{{ .Values.accessNode.postgresql.persistentVolume.subPath }}" + mountPath: "{{ .Values.accessNode.persistentVolume.mountPath }}" + subPath: "{{ .Values.accessNode.persistentVolume.subPath }}" containers: - name: timescaledb securityContext: @@ -107,8 +107,8 @@ spec: - containerPort: 5432 volumeMounts: - name: storage-volume - mountPath: "{{ .Values.accessNode.postgresql.persistentVolume.mountPath }}" - subPath: "{{ .Values.accessNode.postgresql.persistentVolume.subPath }}" + mountPath: "{{ .Values.accessNode.persistentVolume.mountPath }}" + subPath: "{{ .Values.accessNode.persistentVolume.subPath }}" resources: {{ toYaml .Values.accessNode.postgresql.resources | indent 10 }} {{- with .Values.accessNode.nodeSelector }} @@ -122,19 +122,24 @@ spec: {{- if .Values.schedulerName }} schedulerName: {{ .Values.schedulerName }} {{- end }} + {{- if .Values.affinity }} affinity: {{ .Values.affinity | toYaml | indent 8 }} - {{- if not .Values.accessNode.postgresql.persistentVolume.enabled }} + {{- else if .Values.affinityTemplate }} + affinity: +{{ tpl .Values.affinityTemplate . | indent 8 }} + {{- end }} + {{- if not .Values.accessNode.persistentVolume.enabled }} - name: storage-volume emptyDir: {} {{- end }} - {{- if .Values.accessNode.postgresql.persistentVolume.enabled }} + {{- if .Values.accessNode.persistentVolume.enabled }} volumeClaimTemplates: - metadata: name: storage-volume annotations: - {{- if .Values.accessNode.postgresql.persistentVolume.annotations }} -{{ toYaml .Values.accessNode.postgresql.persistentVolume.annotations | indent 8 }} + {{- if .Values.accessNode.persistentVolume.annotations }} +{{ toYaml .Values.accessNode.persistentVolume.annotations | indent 8 }} {{- end }} labels: app: {{ template "timescaledb.fullname" . }} @@ -142,15 +147,15 @@ spec: heritage: {{ .Release.Service }} spec: accessModes: -{{ toYaml .Values.accessNode.postgresql.persistentVolume.accessModes | indent 8 }} +{{ toYaml .Values.accessNode.persistentVolume.accessModes | indent 8 }} resources: requests: - storage: "{{ .Values.accessNode.postgresql.persistentVolume.size }}" - {{- if .Values.accessNode.postgresql.persistentVolume.storageClass }} - {{- if (eq "-" .Values.accessNode.postgresql.persistentVolume.storageClass) }} + storage: "{{ .Values.accessNode.persistentVolume.size }}" + {{- if .Values.accessNode.persistentVolume.storageClass }} + {{- if (eq "-" .Values.accessNode.persistentVolume.storageClass) }} storageClassName: "" {{- else }} - storageClassName: "{{ .Values.accessNode.postgresql.persistentVolume.storageClass }}" + storageClassName: "{{ .Values.accessNode.persistentVolume.storageClass }}" {{- end }} {{- end }} {{- end }} diff --git a/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml b/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml index ad26c648..604a12b6 100644 --- a/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml +++ b/charts/timescaledb-multinode/templates/statefulset-timescaledb-datanode.yaml @@ -76,8 +76,8 @@ spec: echo "DROP EXTENSION timescaledb" | /docker-entrypoint.sh postgres --single -D "${PGDATA}" template1 volumeMounts: - name: storage-volume - mountPath: "{{ .Values.dataNode.postgresql.persistentVolume.mountPath }}" - subPath: "{{ .Values.dataNode.postgresql.persistentVolume.subPath }}" + mountPath: "{{ .Values.dataNode.persistentVolume.mountPath }}" + subPath: "{{ .Values.dataNode.persistentVolume.subPath }}" containers: - name: timescaledb securityContext: @@ -102,8 +102,8 @@ spec: - containerPort: 5432 volumeMounts: - name: storage-volume - mountPath: "{{ .Values.dataNode.postgresql.persistentVolume.mountPath }}" - subPath: "{{ .Values.dataNode.postgresql.persistentVolume.subPath }}" + mountPath: "{{ .Values.dataNode.persistentVolume.mountPath }}" + subPath: "{{ .Values.dataNode.persistentVolume.subPath }}" resources: {{ toYaml .Values.dataNode.postgresql.resources | indent 10 }} {{- with .Values.dataNode.nodeSelector }} @@ -117,19 +117,24 @@ spec: {{- if .Values.schedulerName }} schedulerName: {{ .Values.schedulerName }} {{- end }} + {{- if .Values.affinity }} affinity: {{ .Values.affinity | toYaml | indent 8 }} - {{- if not .Values.dataNode.postgresql.persistentVolume.enabled }} + {{- else if .Values.affinityTemplate }} + affinity: +{{ tpl .Values.affinityTemplate . | indent 8 }} + {{- end }} + {{- if not .Values.dataNode.persistentVolume.enabled }} - name: storage-volume emptyDir: {} {{- end }} - {{- if .Values.dataNode.postgresql.persistentVolume.enabled }} + {{- if .Values.dataNode.persistentVolume.enabled }} volumeClaimTemplates: - metadata: name: storage-volume annotations: - {{- if .Values.dataNode.postgresql.persistentVolume.annotations }} -{{ toYaml .Values.dataNode.postgresql.persistentVolume.annotations | indent 8 }} + {{- if .Values.dataNode.persistentVolume.annotations }} +{{ toYaml .Values.dataNode.persistentVolume.annotations | indent 8 }} {{- end }} labels: app: {{ template "timescaledb.fullname" . }} @@ -137,15 +142,15 @@ spec: heritage: {{ .Release.Service }} spec: accessModes: -{{ toYaml .Values.dataNode.postgresql.persistentVolume.accessModes | indent 8 }} +{{ toYaml .Values.dataNode.persistentVolume.accessModes | indent 8 }} resources: requests: - storage: "{{ .Values.dataNode.postgresql.persistentVolume.size }}" - {{- if .Values.dataNode.postgresql.persistentVolume.storageClass }} - {{- if (eq "-" .Values.dataNode.postgresql.persistentVolume.storageClass) }} + storage: "{{ .Values.dataNode.persistentVolume.size }}" + {{- if .Values.dataNode.persistentVolume.storageClass }} + {{- if (eq "-" .Values.dataNode.persistentVolume.storageClass) }} storageClassName: "" {{- else }} - storageClassName: "{{ .Values.dataNode.postgresql.persistentVolume.storageClass }}" + storageClassName: "{{ .Values.dataNode.persistentVolume.storageClass }}" {{- end }} {{- end }} {{- end }} diff --git a/charts/timescaledb-multinode/values.yaml b/charts/timescaledb-multinode/values.yaml index 57515298..3f3be4b2 100644 --- a/charts/timescaledb-multinode/values.yaml +++ b/charts/timescaledb-multinode/values.yaml @@ -62,14 +62,14 @@ accessNode: max_wal_size: 512MB temp_file_limit: 1GB - persistentVolume: - enabled: true - size: 5G - subPath: "" - mountPath: "/var/lib/postgresql" - annotations: {} - accessModes: - - ReadWriteOnce + persistentVolume: + enabled: true + size: 5G + subPath: "" + mountPath: "/var/lib/postgresql" + annotations: {} + accessModes: + - ReadWriteOnce nodeSelector: {} tolerations: [] @@ -101,27 +101,41 @@ dataNode: max_wal_size: 512MB temp_file_limit: 1GB - persistentVolume: - enabled: true - size: 5G - ## database data Persistent Volume Storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" - subPath: "" - mountPath: "/var/lib/postgresql" - annotations: {} - accessModes: - - ReadWriteOnce + persistentVolume: + enabled: true + size: 5G + ## database data Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + # storageClass: "-" + subPath: "" + mountPath: "/var/lib/postgresql" + annotations: {} + accessModes: + - ReadWriteOnce nodeSelector: {} tolerations: [] affinity: {} + +# https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity +affinityTemplate: | + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 100 + podAffinityTerm: + topologyKey: "kubernetes.io/hostname" + labelSelector: + matchLabels: + app: {{ template "timescaledb.name" . }} + release: {{ .Release.Name | quote }} +affinity: {} + ## Use an alternate scheduler, e.g. "stork". ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ ## From a3addf7f58bd455167ed3bcd0fa159d64ac78fcc Mon Sep 17 00:00:00 2001 From: raresfirebolt Date: Fri, 25 Jun 2021 12:23:04 +0300 Subject: [PATCH 9/9] update admin guide and repo --- charts/repo/index.yaml | 68 ++++++++++++-------- charts/repo/timescaledb-multinode-0.9.0.tgz | Bin 0 -> 11270 bytes charts/timescaledb-multinode/admin-guide.md | 52 ++++++++++----- charts/timescaledb-multinode/values.yaml | 4 +- 4 files changed, 81 insertions(+), 43 deletions(-) create mode 100644 charts/repo/timescaledb-multinode-0.9.0.tgz diff --git a/charts/repo/index.yaml b/charts/repo/index.yaml index ca93ef3a..b7fa26cb 100644 --- a/charts/repo/index.yaml +++ b/charts/repo/index.yaml @@ -2,7 +2,23 @@ apiVersion: v1 entries: timescaledb-multinode: - apiVersion: v1 - created: "2021-06-18T20:50:20.468566267+03:00" + created: "2021-06-25T12:22:38.592878527+03:00" + description: TimescaleDB Multinode Deployment. + digest: ab65866f8518e1d5c31e998679968539d3656a3379f427ae1199a05a2dff1296 + home: https://github.com/timescale/timescaledb-kubernetes + maintainers: + - email: support@timescale.com + name: TimescaleDB + name: timescaledb-multinode + sources: + - https://github.com/timescale/timescaledb-kubernetes + - https://github.com/timescale/timescaledb-docker-ha + - https://github.com/zalando/patroni + urls: + - timescaledb-multinode-0.9.0.tgz + version: 0.9.0 + - apiVersion: v1 + created: "2021-06-25T12:22:38.591961934+03:00" description: TimescaleDB Multinode Deployment. digest: bc4f70989a2bdc35e5a4a9efe311a87ffcef3e0acb5ee704a010d49ecb372765 home: https://github.com/timescale/timescaledb-kubernetes @@ -18,7 +34,7 @@ entries: - timescaledb-multinode-0.8.2.tgz version: 0.8.2 - apiVersion: v1 - created: "2021-06-18T20:50:20.467628196+03:00" + created: "2021-06-25T12:22:38.591097175+03:00" description: TimescaleDB Multinode Deployment. digest: e0729d1731fb22f769494b921b275153d625aebcbdb68c432c2ccd1897f4d66c home: https://github.com/timescale/timescaledb-kubernetes @@ -34,7 +50,7 @@ entries: - timescaledb-multinode-0.8.1.tgz version: 0.8.1 - apiVersion: v1 - created: "2021-06-18T20:50:20.46677215+03:00" + created: "2021-06-25T12:22:38.590299035+03:00" description: TimescaleDB Multinode Deployment. digest: 101d72220765f49e6b081c134c1f793bbe90d7f67a4f4c36c794be989e34623d home: https://github.com/timescale/timescaledb-kubernetes @@ -50,7 +66,7 @@ entries: - timescaledb-multinode-0.8.0.tgz version: 0.8.0 - apiVersion: v1 - created: "2021-06-18T20:50:20.465969438+03:00" + created: "2021-06-25T12:22:38.589525808+03:00" description: TimescaleDB Multinode Deployment. digest: db2bea7290cd265835e11859a39e72562c7e21f1a90df0401e14e05d7adea1d6 home: https://github.com/timescale/timescaledb-kubernetes @@ -66,7 +82,7 @@ entries: - timescaledb-multinode-0.7.0.tgz version: 0.7.0 - apiVersion: v1 - created: "2021-06-18T20:50:20.465038522+03:00" + created: "2021-06-25T12:22:38.588760962+03:00" description: TimescaleDB Multinode Deployment. digest: d537d361eb0f72bce12d8e4f993dbc980f7850a22bb1a7bcd8825a7a4a00d38f home: https://github.com/timescale/timescaledb-kubernetes @@ -82,7 +98,7 @@ entries: - timescaledb-multinode-0.6.3.tgz version: 0.6.3 - apiVersion: v1 - created: "2021-06-18T20:50:20.464148867+03:00" + created: "2021-06-25T12:22:38.58796345+03:00" description: TimescaleDB Multinode Deployment. digest: a6c664a75489e069cdd2d36dff87ca6d2b3a38a3edf16de4234418b354e40eea home: https://github.com/timescale/timescaledb-kubernetes @@ -99,7 +115,7 @@ entries: version: 0.3.0 timescaledb-single: - apiVersion: v1 - created: "2021-06-18T20:50:20.512155388+03:00" + created: "2021-06-25T12:22:38.636214942+03:00" description: TimescaleDB HA Deployment. digest: 8bb26c938538e767a0da086f7535e1b81fa03af292becf44d406d7a8d8da9321 home: https://github.com/timescale/timescaledb-kubernetes @@ -115,7 +131,7 @@ entries: - timescaledb-single-0.9.0.tgz version: 0.9.0 - apiVersion: v1 - created: "2021-06-18T20:50:20.509473707+03:00" + created: "2021-06-25T12:22:38.633580284+03:00" description: TimescaleDB HA Deployment. digest: a976fc399539e012942a3e55dce1d735c5c36bb4678e57a66ac7d280c8bfceb9 home: https://github.com/timescale/timescaledb-kubernetes @@ -131,7 +147,7 @@ entries: - timescaledb-single-0.8.2.tgz version: 0.8.2 - apiVersion: v1 - created: "2021-06-18T20:50:20.506832633+03:00" + created: "2021-06-25T12:22:38.630985352+03:00" description: TimescaleDB HA Deployment. digest: d047ac65b447b75f748c6fe94cec7ed208e91c20b42eb912baa7aa4f4131518c home: https://github.com/timescale/timescaledb-kubernetes @@ -147,7 +163,7 @@ entries: - timescaledb-single-0.8.1.tgz version: 0.8.1 - apiVersion: v1 - created: "2021-06-18T20:50:20.50414541+03:00" + created: "2021-06-25T12:22:38.628374645+03:00" description: TimescaleDB HA Deployment. digest: 63a9d362ea53efbe6103b8fd0cf07400aa2ccb090740eda213f862d588320c79 home: https://github.com/timescale/timescaledb-kubernetes @@ -163,7 +179,7 @@ entries: - timescaledb-single-0.8.0.tgz version: 0.8.0 - apiVersion: v1 - created: "2021-06-18T20:50:20.500984727+03:00" + created: "2021-06-25T12:22:38.625338228+03:00" description: TimescaleDB HA Deployment. digest: 1948357489eff42eb81bcb59a465615e20b791dc54178d1bbaf1a650b7f46de1 home: https://github.com/timescale/timescaledb-kubernetes @@ -179,7 +195,7 @@ entries: - timescaledb-single-0.7.1.tgz version: 0.7.1 - apiVersion: v1 - created: "2021-06-18T20:50:20.498558081+03:00" + created: "2021-06-25T12:22:38.622999842+03:00" description: TimescaleDB HA Deployment. digest: 39e270f51713dd0f2be64c8a80d747bc1e78173fd3e2c6172ff993f9a7dacd1b home: https://github.com/timescale/timescaledb-kubernetes @@ -195,7 +211,7 @@ entries: - timescaledb-single-0.7.0.tgz version: 0.7.0 - apiVersion: v1 - created: "2021-06-18T20:50:20.496179858+03:00" + created: "2021-06-25T12:22:38.620758951+03:00" description: TimescaleDB HA Deployment. digest: 463bf4eca84cbefbd2e4a88928fe1ccc59a69fb95a4952ce15ca746adb479a29 home: https://github.com/timescale/timescaledb-kubernetes @@ -211,7 +227,7 @@ entries: - timescaledb-single-0.6.2.tgz version: 0.6.2 - apiVersion: v1 - created: "2021-06-18T20:50:20.494042405+03:00" + created: "2021-06-25T12:22:38.618602396+03:00" description: TimescaleDB HA Deployment. digest: 8ad82438d3fc818e6729afa77607521b7510b68fa4e0b4e7d0836f33990f0a63 home: https://github.com/timescale/timescaledb-kubernetes @@ -227,7 +243,7 @@ entries: - timescaledb-single-0.6.1.tgz version: 0.6.1 - apiVersion: v1 - created: "2021-06-18T20:50:20.49118191+03:00" + created: "2021-06-25T12:22:38.615914877+03:00" description: TimescaleDB HA Deployment. digest: b1c985faf6852aea91e6931230d19656f126fb7eabff004e92ffa2fb411cfbe2 home: https://github.com/timescale/timescaledb-kubernetes @@ -243,7 +259,7 @@ entries: - timescaledb-single-0.6.0.tgz version: 0.6.0 - apiVersion: v1 - created: "2021-06-18T20:50:20.489056089+03:00" + created: "2021-06-25T12:22:38.613679259+03:00" description: TimescaleDB HA Deployment. digest: 977ccd3dfe52e84a18e9ecf8c4138a937621910f743071fff58b497c357afb7c home: https://github.com/timescale/timescaledb-kubernetes @@ -259,7 +275,7 @@ entries: - timescaledb-single-0.5.8.tgz version: 0.5.8 - apiVersion: v1 - created: "2021-06-18T20:50:20.486950049+03:00" + created: "2021-06-25T12:22:38.611506898+03:00" description: TimescaleDB HA Deployment. digest: 069c515c7055289ecf8189962e648e033053e8e7bdb47c39f9ec058e99911183 home: https://github.com/timescale/timescaledb-kubernetes @@ -275,7 +291,7 @@ entries: - timescaledb-single-0.5.7.tgz version: 0.5.7 - apiVersion: v1 - created: "2021-06-18T20:50:20.484773378+03:00" + created: "2021-06-25T12:22:38.609359765+03:00" description: TimescaleDB HA Deployment. digest: f0c9b30a4bf3d3e9c221efa37946bef05bad7fe79eb1808a7c8088c2d24e1075 home: https://github.com/timescale/timescaledb-kubernetes @@ -291,7 +307,7 @@ entries: - timescaledb-single-0.5.6.tgz version: 0.5.6 - apiVersion: v1 - created: "2021-06-18T20:50:20.482054131+03:00" + created: "2021-06-25T12:22:38.606701917+03:00" description: TimescaleDB HA Deployment. digest: 27098601d61f727ac71c2bfb67a1240c99188fc56ab4d0a0375cf5abc09547dc home: https://github.com/timescale/timescaledb-kubernetes @@ -307,7 +323,7 @@ entries: - timescaledb-single-0.5.5.tgz version: 0.5.5 - apiVersion: v1 - created: "2021-06-18T20:50:20.479821868+03:00" + created: "2021-06-25T12:22:38.604649904+03:00" description: TimescaleDB HA Deployment. digest: 5bd289b789c7fae00b98ae9d1ce0b86e6b8463fbe4fbdaf20d59b60aca137580 home: https://github.com/timescale/timescaledb-kubernetes @@ -323,7 +339,7 @@ entries: - timescaledb-single-0.5.4.tgz version: 0.5.4 - apiVersion: v1 - created: "2021-06-18T20:50:20.477591479+03:00" + created: "2021-06-25T12:22:38.602753865+03:00" description: TimescaleDB HA Deployment. digest: 6cd19bcb822c9610ad13fbe49b03c3bd9d5f4655920b44e41f937487ecf86d9d home: https://github.com/timescale/timescaledb-kubernetes @@ -339,7 +355,7 @@ entries: - timescaledb-single-0.5.3.tgz version: 0.5.3 - apiVersion: v1 - created: "2021-06-18T20:50:20.475930435+03:00" + created: "2021-06-25T12:22:38.60109882+03:00" description: TimescaleDB HA Deployment. digest: 9e2570426e0445a2e4f079fe757bbaadbc95a764c12ce10903f426d3b69cfde9 home: https://github.com/timescale/timescaledb-kubernetes @@ -355,7 +371,7 @@ entries: - timescaledb-single-0.5.2.tgz version: 0.5.2 - apiVersion: v1 - created: "2021-06-18T20:50:20.474185982+03:00" + created: "2021-06-25T12:22:38.599434438+03:00" description: TimescaleDB HA Deployment. digest: 128a7f0738f176a2abe6b7e1c3a1173ac6c4a77f7816704add3f0664609915aa home: https://github.com/timescale/timescaledb-kubernetes @@ -371,7 +387,7 @@ entries: - timescaledb-single-0.5.1.tgz version: 0.5.1 - apiVersion: v1 - created: "2021-06-18T20:50:20.472518425+03:00" + created: "2021-06-25T12:22:38.597759138+03:00" description: TimescaleDB HA Deployment. digest: f4e0e05c989f04c78d9bd0a5b7ab2c6e1d2227af72ad05f7451a3e01b462bba0 home: https://github.com/timescale/timescaledb-kubernetes @@ -387,7 +403,7 @@ entries: - timescaledb-single-0.5.0.tgz version: 0.5.0 - apiVersion: v1 - created: "2021-06-18T20:50:20.470272739+03:00" + created: "2021-06-25T12:22:38.594573842+03:00" description: TimescaleDB HA Deployment. digest: 2ae9d4a4ba25caf626e837244bf092721439e822d486f2c17f238b479012dedb home: https://github.com/timescale/timescaledb-kubernetes @@ -402,4 +418,4 @@ entries: urls: - timescaledb-single-0.4.0.tgz version: 0.4.0 -generated: "2021-06-18T20:50:20.463120355+03:00" +generated: "2021-06-25T12:22:38.58706716+03:00" diff --git a/charts/repo/timescaledb-multinode-0.9.0.tgz b/charts/repo/timescaledb-multinode-0.9.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..c158380196d68e1b51149dd0a6c82115ec497b81 GIT binary patch literal 11270 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 literal 0 HcmV?d00001 diff --git a/charts/timescaledb-multinode/admin-guide.md b/charts/timescaledb-multinode/admin-guide.md index 4a324b89..b59f3b0c 100644 --- a/charts/timescaledb-multinode/admin-guide.md +++ b/charts/timescaledb-multinode/admin-guide.md @@ -14,37 +14,59 @@ Please see the included NOTICE for copyright information and LICENSE for a copy ## Configuration The following table lists the configurable parameters of the TimescaleDB Helm chart and their default values. +##### Global Parameters | Parameter | Description | Default | |-----------------------------------|---------------------------------------------|-----------------------------------------------------| | `nameOverride` | Override the name of the chart | `timescaledb` | | `fullnameOverride` | Override the fullname of the chart | `nil` | -| `replicaCount` | Amount of pods to spawn | `3` | | `image.repository` | The image to pull | `timescale/timescaledb-ha` | | `image.tag` | The version of the image to pull | `pg12.5-ts2.0.0-p0` | `image.pullPolicy` | The pull policy | `IfNotPresent` | -| `credentials.accessNode.superuser`| Password of the superuser for the Access Node | `tea` | -| `accessNode.service.type` | Setup external access using LoadBalancer or ClusterIP | `LoadBalancer` | | `credentials.fromValues` | Load credentials from values.yaml | `true` | +| `credentials.accessNode.superuser`| Password of the superuser for the Access Node | `tea` | | `credentials.dataNode.superuser` | Password of the superuser for the Data Nodes | `coffee` | | `env` | Extra custom environment variables, expressed as [EnvVar](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.16/#envvarsource-v1-core) | `PGDATA` and some language settings | -| `resources` | Any resources you wish to assign to the pod | `{}` | -| `nodeSelector` | Node label to use for scheduling | `{}` | -| `tolerations` | List of node taints to tolerate | `[]` | +| `schedulerName` | Alternate scheduler name | `nil` | | `affinityTemplate` | A template string to use to generate the affinity settings | Anti-affinity preferred on hostname | | `affinity` | Affinity settings. Overrides `affinityTemplate` if set. | `{}` | -| `postgresql.databases` | List of databases to automatically create a multinode setup for | `["postgres", "example"]` | -| `postgresql.parameters` | [PostgreSQL parameters](https://www.postgresql.org/docs/current/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE)) | Some required and preferred settings | -| `schedulerName` | Alternate scheduler name | `nil` | -| `persistentVolume.accessModes` | Persistent Volume access modes | `[ReadWriteOnce]` | -| `persistentVolume.annotations` | Annotations for Persistent Volume Claim` | `{}` | -| `persistentVolume.mountPath` | Persistent Volume mount root path | `/var/lib/postgresql` | -| `persistentVolume.size` | Persistent Volume size | `5Gi` | -| `persistentVolume.storageClass` | Persistent Volume Storage Class | `volume.alpha.kubernetes.io/storage-class: default` | -| `persistentVolume.subPath` | Subdirectory of Persistent Volume to mount | `""` | | `rbac.create` | Create required role and rolebindings | `true` | | `serviceAccount.create` | If true, create a new service account | `true` | | `serviceAccount.name` | Service account to be used. If not set and `serviceAccount.create` is `true`, a name is generated using the fullname template | `nil` | + +##### Access Node Parameters +| Parameter | Description | Default | +|----------------------------------------------|---------------------------------------------|-----------------------------------------------------| +| `accessNode.service.type` | Setup external access using LoadBalancer or ClusterIP | `LoadBalancer` | +| `accessNode.resources` | Any resources you wish to assign to the Access Node pod |`{}` | +| `accessNode.postgresql.databases` | List of databases to automatically create a multinode setup for | `["postgres", "example"]` | +| `accessNode.postgresql.parameters` | [PostgreSQL parameters](https://www.postgresql.org/docs/current/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE)) | Some required and preferred settings | +| `accessNode.persistentVolume.accessModes` | Persistent Volume access modes | `[ReadWriteOnce]` | +| `accessNode.persistentVolume.annotations` | Annotations for Persistent Volume Claim` | `{}` | +| `accessNode.persistentVolume.mountPath` | Persistent Volume mount root path | `/var/lib/postgresql` | +| `accessNode.persistentVolume.size` | Persistent Volume size | `5Gi` | +| `accessNode.persistentVolume.storageClass` | Persistent Volume Storage Class | `volume.alpha.kubernetes.io/storage-class: default` | +| `accessNode.persistentVolume.subPath` | Subdirectory of Persistent Volume to mount | `""` | +| `accessNode.nodeSelector` | Access Node label to use for scheduling | `{}` | +| `accessNode.tolerations` | List of node taints to tolerate by Access Node | `[]` | +| `accessNode.affinity` | Affinity settings | `{}` | + +##### Data Nodes Parameters +| Parameter | Description | Default | +|--------------------------------------------|---------------------------------------------|-----------------------------------------------------| +| `dataNode.replicas` | Number of Data Node replicas | `3` | +| `dataNode.resources` | Any resources you wish to assign to the Access Node pod | `{}` | +| `dataNode.postgresql.parameters` | [PostgreSQL parameters](https://www.postgresql.org/docs/current/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE)) | Some required and preferred settings | +| `dataNode.persistentVolume.accessModes` | Persistent Volume access modes | `[ReadWriteOnce]` | +| `dataNode.persistentVolume.annotations` | Annotations for Persistent Volume Claim` | `{}` | +| `dataNode.persistentVolume.mountPath` | Persistent Volume mount root path | `/var/lib/postgresql` | +| `dataNode.persistentVolume.size` | Persistent Volume size | `5Gi` | +| `dataNode.persistentVolume.storageClass` | Persistent Volume Storage Class | `volume.alpha.kubernetes.io/storage-class: default` | +| `dataNode.persistentVolume.subPath` | Subdirectory of Persistent Volume to mount | `""` | +| `dataNode.nodeSelector` | Access Node label to use for scheduling | `{}` | +| `dataNode.tolerations` | List of node taints to tolerate by Access Node | `[]` | +| `dataNode.affinity` | Affinity settings | `{}` | + ### Examples - Override value using commandline parameters ```console diff --git a/charts/timescaledb-multinode/values.yaml b/charts/timescaledb-multinode/values.yaml index 3f3be4b2..dc541666 100644 --- a/charts/timescaledb-multinode/values.yaml +++ b/charts/timescaledb-multinode/values.yaml @@ -64,7 +64,7 @@ accessNode: persistentVolume: enabled: true - size: 5G + size: 5Gi subPath: "" mountPath: "/var/lib/postgresql" annotations: {} @@ -103,7 +103,7 @@ dataNode: persistentVolume: enabled: true - size: 5G + size: 5Gi ## database data Persistent Volume Storage Class ## If defined, storageClassName: ## If set to "-", storageClassName: "", which disables dynamic provisioning