Skip to content

Commit 2cbc5b4

Browse files
committed
chore(mysql-cluster): Support different MySQL initialization parameters against plan
1 parent b3d6204 commit 2cbc5b4

10 files changed

Lines changed: 153 additions & 14 deletions

File tree

addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/configmap.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,5 @@ metadata:
2020
data:
2121
my.cnf: |-
2222
{{- include "common.tplvalues.render" ( dict "value" .Values.primary.configuration "context" $ ) | nindent 4 }}
23+
{{- include "common.tplvalues.render" ( dict "value" .Values.primary.extraConfig "context" $ ) | nindent 4 }}
2324
{{- end -}}

addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/statefulset.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -160,10 +160,6 @@ spec:
160160
- name: MYSQL_DATABASE
161161
value: {{ .Values.auth.database | quote }}
162162
{{- end }}
163-
{{- if .Values.primary.maxConnectionLimit }}
164-
- name: MAX_CONNECTION_LIMIT
165-
value: {{ .Values.primary.maxConnectionLimit | quote }}
166-
{{- end }}
167163
{{- if or (eq .Values.architecture "replication") (eq .Values.architecture "mgr") }}
168164
- name: MYSQL_REPLICATION_MODE
169165
value: "master"

addons/mysql-cluster/8.0/chart/mysql-cluster/values.yaml

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,6 @@ initdbScripts:
180180
echo report_host=$mgr_host >> $base_conf_file
181181
echo loose-group_replication_group_seeds="$svc_mgr_host-0:24901,$svc_mgr_host-1:24901,$svc_mgr_host-2:24901" >> $base_conf_file
182182
echo loose-group_replication_start_on_boot='OFF' >> $base_conf_file
183-
echo max_connections=$MAX_CONNECTION_LIMIT >> $base_conf_file
184183
185184
## @param initdbScriptsConfigMap ConfigMap with the initdb scripts (Note: Overrides `initdbScripts`)
186185
##
@@ -212,7 +211,14 @@ primary:
212211
## ref: https://mysql.com/kb/en/mysql/configuring-mysql-with-mycnf/#example-of-configuration-file
213212
##
214213
maxConnectionLimit: 2000
215-
214+
## against plans
215+
extraConfig: |
216+
[mysqld]
217+
innodb_io_capacity=2000
218+
innodb_io_capacity_max=3000
219+
max_connect_errors=1000000
220+
thread_cache_size=200
221+
216222
configuration: |-
217223
[mysqld]
218224
# server
@@ -241,6 +247,8 @@ primary:
241247
sql_require_primary_key=ON
242248
log_error_suppression_list='MY-013360'
243249
binlog_transaction_dependency_tracking=WRITESET
250+
default-time-zone='+8:00'
251+
local_infile=ON
244252
# Replication
245253
246254
log_bin=mysql-bin
@@ -606,8 +614,10 @@ router:
606614
replicaCount: 2
607615

608616
configuration: |-
617+
[DEFAULT]
618+
max_total_connections = 1000
609619
[routing:bootstrap_rw]
610-
max_connections=1000
620+
max_connections= 1000
611621
612622
## @param primary.existingConfigmap Name of existing ConfigMap with MySQL Primary configuration.
613623
## NOTE: When it's set the 'configuration' parameter is ignored

addons/mysql-cluster/8.0/meta.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,10 @@ allow_parameters:
2727
- name: "backup"
2828
required: false
2929
description: "backup config for values.yaml"
30+
- name: "primary.nodeSelector"
31+
required: false
32+
description: "primary.nodeSelector for values.yaml"
33+
- name: "router.nodeSelector"
34+
required: false
35+
description: "router.nodeSelector for values.yaml"
3036
archive: false

addons/mysql-cluster/8.0/plans/standard-16c64g400/values.yaml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,19 @@ fullnameOverride: hb-mysql-cluster-standard-400
1212
## @param resources.requests The requested resources for the MinIO® container
1313
##
1414
primary:
15-
maxConnectionLimit: 1600
15+
extraConfig: |
16+
[mysqld]
17+
innodb_io_capacity=2000
18+
innodb_io_capacity_max=3000
19+
max_connect_errors=1000000
20+
open_files_limit=2000000
21+
performance_schema_max_table_instances=200
22+
thread_cache_size=200
23+
innodb_read_io_threads=32
24+
innodb_write_io_threads=32
25+
innodb_buffer_pool_instances=16
26+
innodb_buffer_pool_size=42949672960
27+
max_connections=16000
1628
resources:
1729
limits:
1830
cpu: 16000m
@@ -60,6 +72,12 @@ primary:
6072
selector: {}
6173

6274
router:
75+
replicaCount: 4
76+
configuration: |-
77+
[DEFAULT]
78+
max_total_connections = 3900
79+
[routing:bootstrap_rw]
80+
max_connections= 3900
6381
resources:
6482
limits:
6583
cpu: 1600m

addons/mysql-cluster/8.0/plans/standard-2c4g20/values.yaml

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,19 @@ fullnameOverride: hb-mysql-cluster-standard-20
1212
## @param resources.requests The requested resources for the MinIO® container
1313
##
1414
primary:
15-
maxConnectionLimit: 1000
15+
extraConfig: |
16+
[mysqld]
17+
innodb_io_capacity=2000
18+
innodb_io_capacity_max=3000
19+
max_connect_errors=1000000
20+
open_files_limit=2000000
21+
performance_schema_max_table_instances=200
22+
thread_cache_size=200
23+
innodb_read_io_threads=4
24+
innodb_write_io_threads=4
25+
innodb_buffer_pool_instances=2
26+
innodb_buffer_pool_size=2147483648
27+
max_connections=1000
1628
resources:
1729
limits:
1830
cpu: 2000m
@@ -59,3 +71,18 @@ primary:
5971
## app: my-app
6072
##
6173
selector: {}
74+
75+
router:
76+
replicaCount: 2
77+
configuration: |-
78+
[DEFAULT]
79+
max_total_connections = 400
80+
[routing:bootstrap_rw]
81+
max_connections= 400
82+
resources:
83+
limits:
84+
cpu: 500m
85+
memory: 512Mi
86+
requests:
87+
cpu: 500m
88+
memory: 512Mi

addons/mysql-cluster/8.0/plans/standard-2c8g50/values.yaml

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,19 @@ fullnameOverride: hb-mysql-cluster-standard-50
1212
## @param resources.requests The requested resources for the MinIO® container
1313
##
1414
primary:
15-
maxConnectionLimit: 2000
15+
extraConfig: |
16+
[mysqld]
17+
innodb_io_capacity=2000
18+
innodb_io_capacity_max=3000
19+
max_connect_errors=1000000
20+
open_files_limit=2000000
21+
performance_schema_max_table_instances=200
22+
thread_cache_size=200
23+
innodb_read_io_threads=4
24+
innodb_write_io_threads=4
25+
innodb_buffer_pool_instances=2
26+
innodb_buffer_pool_size=4294967296
27+
max_connections=2000
1628
resources:
1729
limits:
1830
cpu: 2000m
@@ -58,3 +70,17 @@ primary:
5870
## app: my-app
5971
##
6072
selector: {}
73+
router:
74+
replicaCount: 2
75+
configuration: |-
76+
[DEFAULT]
77+
max_total_connections = 900
78+
[routing:bootstrap_rw]
79+
max_connections= 900
80+
resources:
81+
limits:
82+
cpu: 500m
83+
memory: 512Mi
84+
requests:
85+
cpu: 500m
86+
memory: 512Mi

addons/mysql-cluster/8.0/plans/standard-32c128g800/values.yaml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,19 @@ fullnameOverride: hb-mysql-cluster-standard-800
1212
## @param resources.requests The requested resources for the MinIO® container
1313
##
1414
primary:
15-
maxConnectionLimit: 32000
15+
extraConfig: |
16+
[mysqld]
17+
innodb_io_capacity=2000
18+
innodb_io_capacity_max=3000
19+
max_connect_errors=1000000
20+
open_files_limit=2000000
21+
performance_schema_max_table_instances=200
22+
thread_cache_size=200
23+
innodb_read_io_threads=64
24+
innodb_write_io_threads=64
25+
innodb_buffer_pool_instances=32
26+
innodb_buffer_pool_size=85899345920
27+
max_connections=32000
1628
resources:
1729
limits:
1830
cpu: 32000m
@@ -59,6 +71,12 @@ primary:
5971
##
6072
selector: {}
6173
router:
74+
replicaCount: 4
75+
configuration: |-
76+
[DEFAULT]
77+
max_total_connections = 7900
78+
[routing:bootstrap_rw]
79+
max_connections= 7900
6280
resources:
6381
limits:
6482
cpu: 3200m

addons/mysql-cluster/8.0/plans/standard-4c16g100/values.yaml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,27 @@ fullnameOverride: hb-mysql-cluster-standard-100
1212
## @param resources.requests The requested resources for the MinIO® container
1313
##
1414
primary:
15-
maxConnectionLimit: 4000
15+
extraConfig: |
16+
[mysqld]
17+
innodb_io_capacity=2000
18+
innodb_io_capacity_max=3000
19+
max_connect_errors=1000000
20+
open_files_limit=2000000
21+
performance_schema_max_table_instances=200
22+
thread_cache_size=200
23+
innodb_read_io_threads=8
24+
innodb_write_io_threads=8
25+
innodb_buffer_pool_instances=4
26+
innodb_buffer_pool_size=10737418240
27+
max_connections=4000
28+
1629
resources:
1730
limits:
1831
cpu: 4000m
1932
memory: 16Gi
2033
requests:
2134
cpu: 4000m
22-
memory: 16Gi
35+
memory: 12Gi
2336

2437
## @section Persistence parameters
2538

@@ -60,6 +73,12 @@ primary:
6073
selector: {}
6174

6275
router:
76+
replicaCount: 3
77+
configuration: |-
78+
[DEFAULT]
79+
max_total_connections = 1200
80+
[routing:bootstrap_rw]
81+
max_connections= 1200
6382
resources:
6483
limits:
6584
cpu: 500m

addons/mysql-cluster/8.0/plans/standard-8c32g200/values.yaml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,19 @@ fullnameOverride: hb-mysql-cluster-standard-200
1212
## @param resources.requests The requested resources for the MinIO® container
1313
##
1414
primary:
15-
maxConnectionLimit: 8000
15+
extraConfig: |
16+
[mysqld]
17+
innodb_io_capacity=2000
18+
innodb_io_capacity_max=3000
19+
max_connect_errors=1000000
20+
open_files_limit=2000000
21+
performance_schema_max_table_instances=200
22+
thread_cache_size=200
23+
innodb_read_io_threads=16
24+
innodb_write_io_threads=16
25+
innodb_buffer_pool_instances=8
26+
innodb_buffer_pool_size=22548578304
27+
max_connections=8000
1628
resources:
1729
limits:
1830
cpu: 8000m
@@ -60,6 +72,12 @@ primary:
6072
selector: {}
6173

6274
router:
75+
replicaCount: 4
76+
configuration: |-
77+
[DEFAULT]
78+
max_total_connections = 1900
79+
[routing:bootstrap_rw]
80+
max_connections= 1900
6381
resources:
6482
limits:
6583
cpu: 800m

0 commit comments

Comments
 (0)