"" |
| global.infra.fileserver.bucket | bucket to store installer and kubepack yamls | "" |
| global.infra.fileserver.prefix | | "" |
-| settings.db.version | | "16.4" |
+| settings.db.version | | "18.3" |
| settings.db.databaseName | | bb |
| settings.db.deletionPolicy | | Delete |
| settings.db.persistence.size | | 10Gi |
@@ -142,10 +142,15 @@ The following table lists the configurable parameters of the `ace` chart and the
| settings.db.auth.password | | "xyz" |
| settings.db.logSQL | | false |
| settings.pgpool.enabled | | true |
-| settings.pgpool.replicas | | 1 |
-| settings.pgpool.config.num_init_children | | "25" |
-| settings.pgpool.config.max_pool | | "15" |
-| settings.pgpool.config.client_idle_limit | | "60" |
+| settings.pgpool.replicas | | 2 |
+| settings.pgpool.config.num_init_children | | "32" |
+| settings.pgpool.config.max_pool | | "3" |
+| settings.pgpool.config.listen_backlog_multiplier | | "4" |
+| settings.pgpool.config.child_life_time | | "300" |
+| settings.pgpool.config.child_max_connections | | "1000" |
+| settings.pgpool.config.connection_life_time | | "600" |
+| settings.pgpool.config.client_idle_limit | | "300" |
+| settings.pgpool.config.connection_cache | | "on" |
| settings.pgpool.resources.limits.memory | | 512Mi |
| settings.pgpool.resources.requests.memory | | 256Mi |
| settings.pgpool.resources.requests.cpu | | 250m |
diff --git a/charts/ace/templates/db/db-config.yaml b/charts/ace/templates/db/db-config.yaml
index 08424bb14..36cad2f9b 100644
--- a/charts/ace/templates/db/db-config.yaml
+++ b/charts/ace/templates/db/db-config.yaml
@@ -12,7 +12,7 @@ metadata:
type: Opaque
stringData:
user.conf: |
- max_connections=400
+ max_connections=800
{{- if .Values.pgoutbox.enabled }}
wal_level=logical
max_wal_senders=50
diff --git a/charts/ace/templates/db/pgpool-wait.yaml b/charts/ace/templates/db/pgpool-wait.yaml
deleted file mode 100644
index d8995b434..000000000
--- a/charts/ace/templates/db/pgpool-wait.yaml
+++ /dev/null
@@ -1,115 +0,0 @@
-{{- if .Values.settings.pgpool.enabled }}
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- name: {{ include "appscode.serviceAccountName" . }}-pgpool-wait
- namespace: {{ .Release.Namespace }}
- labels:
- {{- include "ace.labels" . | nindent 4 }}
- annotations:
- "helm.sh/hook": post-install,post-upgrade
- "helm.sh/hook-weight": "0"
- "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: {{ include "ace.fullname" . }}-pgpool-wait
- namespace: {{ .Release.Namespace }}
- labels:
- {{- include "ace.labels" . | nindent 4 }}
- annotations:
- "helm.sh/hook": post-install,post-upgrade
- "helm.sh/hook-weight": "0"
- "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
-rules:
-# wait for the Postgres database to become Ready before creating the Pgpool
-- apiGroups:
- - kubedb.com
- resources:
- - postgreses
- verbs: ["get", "list", "watch"]
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: {{ include "ace.fullname" . }}-pgpool-wait
- namespace: {{ .Release.Namespace }}
- labels:
- {{- include "ace.labels" . | nindent 4 }}
- annotations:
- "helm.sh/hook": post-install,post-upgrade
- "helm.sh/hook-weight": "0"
- "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: {{ include "ace.fullname" . }}-pgpool-wait
-subjects:
-- kind: ServiceAccount
- name: {{ include "appscode.serviceAccountName" . }}-pgpool-wait
- namespace: {{ .Release.Namespace }}
----
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: {{ include "ace.fullname" . }}-pgpool-wait
- namespace: {{ .Release.Namespace }}
- labels:
- {{- include "ace.labels" . | nindent 4 }}
- annotations:
- "helm.sh/hook": post-install,post-upgrade
- "helm.sh/hook-weight": "1"
- "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
-spec:
- activeDeadlineSeconds: 21600
- backoffLimit: 3
- template:
- spec:
- {{- include "appscode.imagePullSecrets" . | nindent 6 }}
- serviceAccountName: {{ include "appscode.serviceAccountName" . }}-pgpool-wait
- automountServiceAccountToken: true
- {{- if eq "true" ( include "distro.openshift" . ) }}
- securityContext:
- {{- toYaml (omit .Values.podSecurityContext "runAsUser" "runAsGroup" "fsGroup" "supplementalGroups") | nindent 8 }}
- {{- else }}
- securityContext:
- {{- toYaml .Values.podSecurityContext | nindent 8 }}
- {{- end }}
- containers:
- - name: kubectl
- {{- if eq "true" ( include "distro.openshift" . ) }}
- securityContext:
- {{- toYaml (omit .Values.securityContext "runAsUser" "runAsGroup" "fsGroup" "supplementalGroups") | nindent 12 }}
- {{- else }}
- securityContext:
- {{- toYaml .Values.securityContext | nindent 12 }}
- {{- end }}
- image: "{{ include "kubectl.registry" . }}/{{ .Values.kubectl.repository }}:{{ .Values.kubectl.tag | default .Chart.AppVersion }}"
- imagePullPolicy: {{ .Values.kubectl.pullPolicy }}
- command:
- - /bin/sh
- - -c
- - |
- echo "Waiting for Postgres {{ include "ace.fullname" . }}-db to become Ready..."
- until [ "$(kubectl get pg {{ include "ace.fullname" . }}-db -n {{ .Release.Namespace }} -o jsonpath='{.status.phase}' 2>/dev/null)" = "Ready" ]; do
- echo "Postgres {{ include "ace.fullname" . }}-db is not Ready yet. Retrying in 10s..."
- sleep 10
- done
- echo "Postgres {{ include "ace.fullname" . }}-db is Ready. Proceeding to create Pgpool."
- resources:
- {{- toYaml .Values.resources | nindent 12 }}
- {{- with .Values.nodeSelector }}
- nodeSelector:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.affinity }}
- affinity:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.tolerations }}
- tolerations:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- restartPolicy: Never
-{{- end }}
\ No newline at end of file
diff --git a/charts/ace/templates/db/pgpool.yaml b/charts/ace/templates/db/pgpool.yaml
index 545bfa0c1..2965a153f 100644
--- a/charts/ace/templates/db/pgpool.yaml
+++ b/charts/ace/templates/db/pgpool.yaml
@@ -6,13 +6,6 @@ metadata:
namespace: {{ .Release.Namespace }}
labels:
{{- include "ace.labels" . | nindent 4 }}
- annotations:
- # Create the Pgpool only after the referenced Postgres is Ready. The
- # pgpool-wait hook (weight 1) blocks until the DB reports phase=Ready, so
- # this higher-weighted hook runs afterwards.
- "helm.sh/hook": post-install,post-upgrade
- "helm.sh/hook-weight": "2"
- "helm.sh/hook-delete-policy": before-hook-creation
spec:
version: "4.6.0"
replicas: {{ .Values.settings.pgpool.replicas }}
diff --git a/charts/ace/values.yaml b/charts/ace/values.yaml
index aafdcc1a6..989cb9b4a 100644
--- a/charts/ace/values.yaml
+++ b/charts/ace/values.yaml
@@ -279,7 +279,7 @@ global:
settings:
db:
- version: "16.4"
+ version: "18.3"
databaseName: bb
deletionPolicy: Delete
persistence:
@@ -296,11 +296,16 @@ settings:
logSQL: false
pgpool:
enabled: true
- replicas: 1
+ replicas: 2
config:
- num_init_children: "25"
- max_pool: "15"
- client_idle_limit: "60"
+ num_init_children: "32"
+ max_pool: "3"
+ listen_backlog_multiplier: "4"
+ child_life_time: "300"
+ child_max_connections: "1000"
+ connection_life_time: "600"
+ client_idle_limit: "300"
+ connection_cache: "on"
resources:
limits:
memory: 512Mi