MairaDB: Move all config to be values driven
This PS moves to drive all mariadb config via the values fed to the chart. Change-Id: I4ed3624737af4d5c90b1b5de451a0a0b75a5eda1 Signed-off-by: Pete Birley <pete@port.direct>
This commit is contained in:
parent
aba044cb0e
commit
a5682e7db3
@ -1,7 +1,7 @@
|
|||||||
{{/*
|
{{/*
|
||||||
Copyright 2017 The Openstack-Helm Authors.
|
Copyright 2017 The Openstack-Helm Authors.
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License" );
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
@ -22,14 +22,12 @@ kind: ConfigMap
|
|||||||
metadata:
|
metadata:
|
||||||
name: mariadb-etc
|
name: mariadb-etc
|
||||||
data:
|
data:
|
||||||
my.cnf: |
|
{{- include "helm-toolkit.snippets.values_template_renderer" (dict "envAll" $envAll "template" ( index $envAll.Values.conf.database "my" ) "key" "my.cnf" ) | indent 2 }}
|
||||||
{{ tuple "etc/_my.cnf.tpl" $envAll | include "helm-toolkit.utils.template" | indent 4 }}
|
{{- include "helm-toolkit.snippets.values_template_renderer" (dict "envAll" $envAll "template" ( index $envAll.Values.conf.database "00_base" ) "key" "00-base.cnf" ) | indent 2 }}
|
||||||
00-base.cnf: |
|
{{- if $envAll.Values.conf.database.config_override }}
|
||||||
{{ tuple "etc/_00-base.cnf.tpl" $envAll | include "helm-toolkit.utils.template" | indent 4 }}
|
{{- include "helm-toolkit.snippets.values_template_renderer" (dict "envAll" $envAll "template" ( index $envAll.Values.conf.database "config_override" ) "key" "20-override.cnf" ) | indent 2 }}
|
||||||
20-override.cnf: |
|
{{- end }}
|
||||||
{{ tuple "etc/_20-override.cnf.tpl" $envAll | include "helm-toolkit.utils.template" | indent 4 }}
|
{{- include "helm-toolkit.snippets.values_template_renderer" (dict "envAll" $envAll "template" ( index $envAll.Values.conf.database "99_force" ) "key" "99-force.cnf" ) | indent 2 }}
|
||||||
99-force.cnf: |
|
|
||||||
{{ tuple "etc/_99-force.cnf.tpl" $envAll | include "helm-toolkit.utils.template" | indent 4 }}
|
|
||||||
{{- if $envAll.Values.conf.ingress }}
|
{{- if $envAll.Values.conf.ingress }}
|
||||||
nginx.tmpl: |
|
nginx.tmpl: |
|
||||||
{{ $envAll.Values.conf.ingress | indent 4 }}
|
{{ $envAll.Values.conf.ingress | indent 4 }}
|
||||||
|
@ -1,107 +0,0 @@
|
|||||||
{{/*
|
|
||||||
Copyright 2017 The Openstack-Helm Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/}}
|
|
||||||
|
|
||||||
[mysqld]
|
|
||||||
# Charset
|
|
||||||
character_set_server=utf8
|
|
||||||
collation_server=utf8_unicode_ci
|
|
||||||
skip-character-set-client-handshake
|
|
||||||
|
|
||||||
# Logging
|
|
||||||
slow_query_log=off
|
|
||||||
slow_query_log_file=/var/log/mysql/mariadb-slow.log
|
|
||||||
log_warnings=2
|
|
||||||
|
|
||||||
# General logging has huge performance penalty therefore is disabled by default
|
|
||||||
general_log=off
|
|
||||||
general_log_file=/var/log/mysql/mariadb-error.log
|
|
||||||
|
|
||||||
long_query_time=3
|
|
||||||
log_queries_not_using_indexes=on
|
|
||||||
|
|
||||||
# Networking
|
|
||||||
bind_address=0.0.0.0
|
|
||||||
port={{ tuple "oslo_db" "direct" "mysql" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
|
|
||||||
|
|
||||||
# When a client connects, the server will perform hostname resolution,
|
|
||||||
# and when DNS is slow, establishing the connection will become slow as well.
|
|
||||||
# It is therefore recommended to start the server with skip-name-resolve to
|
|
||||||
# disable all DNS lookups. The only limitation is that the GRANT statements
|
|
||||||
# must then use IP addresses only.
|
|
||||||
skip_name_resolve
|
|
||||||
|
|
||||||
# Tuning
|
|
||||||
user=mysql
|
|
||||||
max_allowed_packet=256M
|
|
||||||
open_files_limit=10240
|
|
||||||
max_connections=8192
|
|
||||||
max-connect-errors=1000000
|
|
||||||
|
|
||||||
## Generally, it is unwise to set the query cache to be larger than 64-128M
|
|
||||||
## as the costs associated with maintaining the cache outweigh the performance
|
|
||||||
## gains.
|
|
||||||
## The query cache is a well known bottleneck that can be seen even when
|
|
||||||
## concurrency is moderate. The best option is to disable it from day 1
|
|
||||||
## by setting query_cache_size=0 (now the default on MySQL 5.6)
|
|
||||||
## and to use other ways to speed up read queries: good indexing, adding
|
|
||||||
## replicas to spread the read load or using an external cache.
|
|
||||||
query_cache_size=0
|
|
||||||
query_cache_type=0
|
|
||||||
|
|
||||||
sync_binlog=0
|
|
||||||
thread_cache_size=16
|
|
||||||
table_open_cache=2048
|
|
||||||
table_definition_cache=1024
|
|
||||||
|
|
||||||
#
|
|
||||||
# InnoDB
|
|
||||||
#
|
|
||||||
# The buffer pool is where data and indexes are cached: having it as large as possible
|
|
||||||
# will ensure you use memory and not disks for most read operations.
|
|
||||||
# Typical values are 50..75% of available RAM.
|
|
||||||
# TODO(tomasz.paszkowski): This needs to by dynamic based on available RAM.
|
|
||||||
innodb_buffer_pool_size=1024M
|
|
||||||
innodb_doublewrite=0
|
|
||||||
innodb_file_format=Barracuda
|
|
||||||
innodb_file_per_table=1
|
|
||||||
innodb_flush_method=O_DIRECT
|
|
||||||
innodb_io_capacity=500
|
|
||||||
innodb_locks_unsafe_for_binlog=1
|
|
||||||
innodb_log_file_size=128M
|
|
||||||
innodb_old_blocks_time=1000
|
|
||||||
innodb_read_io_threads=8
|
|
||||||
innodb_write_io_threads=8
|
|
||||||
|
|
||||||
# Clustering
|
|
||||||
binlog_format=ROW
|
|
||||||
default-storage-engine=InnoDB
|
|
||||||
innodb_autoinc_lock_mode=2
|
|
||||||
innodb_flush_log_at_trx_commit=2
|
|
||||||
wsrep_cluster_name={{ tuple "oslo_db" "direct" . | include "helm-toolkit.endpoints.hostname_namespaced_endpoint_lookup" | replace "." "_" }}
|
|
||||||
wsrep_on=1
|
|
||||||
wsrep_provider=/usr/lib/galera/libgalera_smm.so
|
|
||||||
wsrep_provider_options="evs.suspect_timeout=PT30S; gmcast.peer_timeout=PT15S; gmcast.listen_addr=tcp://0.0.0.0:{{ tuple "oslo_db" "direct" "wsrep" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}"
|
|
||||||
wsrep_slave_threads=12
|
|
||||||
wsrep_sst_auth={{ .Values.endpoints.oslo_db.auth.sst.username }}:{{ .Values.endpoints.oslo_db.auth.sst.password }}
|
|
||||||
wsrep_sst_method=mariabackup
|
|
||||||
|
|
||||||
[mysqldump]
|
|
||||||
max-allowed-packet=16M
|
|
||||||
|
|
||||||
[client]
|
|
||||||
default_character_set=utf8
|
|
||||||
protocol=tcp
|
|
||||||
port={{ tuple "oslo_db" "direct" "mysql" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
|
|
@ -1,17 +0,0 @@
|
|||||||
{{/*
|
|
||||||
Copyright 2017 The Openstack-Helm Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/}}
|
|
||||||
|
|
||||||
{{ .Values.conf.database.config_override }}
|
|
@ -1,19 +0,0 @@
|
|||||||
{{/*
|
|
||||||
Copyright 2017 The Openstack-Helm Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/}}
|
|
||||||
|
|
||||||
[mysqld]
|
|
||||||
datadir=/var/lib/mysql
|
|
||||||
tmpdir=/tmp
|
|
@ -1,23 +0,0 @@
|
|||||||
{{/*
|
|
||||||
Copyright 2017 The Openstack-Helm Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/}}
|
|
||||||
|
|
||||||
[mysqld]
|
|
||||||
datadir=/var/lib/mysql
|
|
||||||
basedir=/usr
|
|
||||||
ignore-db-dirs=lost+found
|
|
||||||
|
|
||||||
[client-server]
|
|
||||||
!includedir /etc/mysql/conf.d/
|
|
@ -204,10 +204,12 @@ spec:
|
|||||||
mountPath: /etc/mysql/conf.d/00-base.cnf
|
mountPath: /etc/mysql/conf.d/00-base.cnf
|
||||||
subPath: 00-base.cnf
|
subPath: 00-base.cnf
|
||||||
readOnly: true
|
readOnly: true
|
||||||
|
{{- if .Values.conf.database.config_override }}
|
||||||
- name: mariadb-etc
|
- name: mariadb-etc
|
||||||
mountPath: /etc/mysql/conf.d/20-override.cnf
|
mountPath: /etc/mysql/conf.d/20-override.cnf
|
||||||
subPath: 20-override.cnf
|
subPath: 20-override.cnf
|
||||||
readOnly: true
|
readOnly: true
|
||||||
|
{{- end }}
|
||||||
- name: mariadb-etc
|
- name: mariadb-etc
|
||||||
mountPath: /etc/mysql/conf.d/99-force.cnf
|
mountPath: /etc/mysql/conf.d/99-force.cnf
|
||||||
subPath: 99-force.cnf
|
subPath: 99-force.cnf
|
||||||
|
@ -279,11 +279,115 @@ conf:
|
|||||||
--add-drop-table --databases
|
--add-drop-table --databases
|
||||||
days_of_backup_to_keep: 3
|
days_of_backup_to_keep: 3
|
||||||
database:
|
database:
|
||||||
|
my: |
|
||||||
|
[mysqld]
|
||||||
|
datadir=/var/lib/mysql
|
||||||
|
basedir=/usr
|
||||||
|
ignore-db-dirs=lost+found
|
||||||
|
|
||||||
|
[client-server]
|
||||||
|
!includedir /etc/mysql/conf.d/
|
||||||
|
00_base: |
|
||||||
|
[mysqld]
|
||||||
|
# Charset
|
||||||
|
character_set_server=utf8
|
||||||
|
collation_server=utf8_unicode_ci
|
||||||
|
skip-character-set-client-handshake
|
||||||
|
|
||||||
|
# Logging
|
||||||
|
slow_query_log=off
|
||||||
|
slow_query_log_file=/var/log/mysql/mariadb-slow.log
|
||||||
|
log_warnings=2
|
||||||
|
|
||||||
|
# General logging has huge performance penalty therefore is disabled by default
|
||||||
|
general_log=off
|
||||||
|
general_log_file=/var/log/mysql/mariadb-error.log
|
||||||
|
|
||||||
|
long_query_time=3
|
||||||
|
log_queries_not_using_indexes=on
|
||||||
|
|
||||||
|
# Networking
|
||||||
|
bind_address=0.0.0.0
|
||||||
|
port={{ tuple "oslo_db" "direct" "mysql" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
|
||||||
|
|
||||||
|
# When a client connects, the server will perform hostname resolution,
|
||||||
|
# and when DNS is slow, establishing the connection will become slow as well.
|
||||||
|
# It is therefore recommended to start the server with skip-name-resolve to
|
||||||
|
# disable all DNS lookups. The only limitation is that the GRANT statements
|
||||||
|
# must then use IP addresses only.
|
||||||
|
skip_name_resolve
|
||||||
|
|
||||||
|
# Tuning
|
||||||
|
user=mysql
|
||||||
|
max_allowed_packet=256M
|
||||||
|
open_files_limit=10240
|
||||||
|
max_connections=8192
|
||||||
|
max-connect-errors=1000000
|
||||||
|
|
||||||
|
## Generally, it is unwise to set the query cache to be larger than 64-128M
|
||||||
|
## as the costs associated with maintaining the cache outweigh the performance
|
||||||
|
## gains.
|
||||||
|
## The query cache is a well known bottleneck that can be seen even when
|
||||||
|
## concurrency is moderate. The best option is to disable it from day 1
|
||||||
|
## by setting query_cache_size=0 (now the default on MySQL 5.6)
|
||||||
|
## and to use other ways to speed up read queries: good indexing, adding
|
||||||
|
## replicas to spread the read load or using an external cache.
|
||||||
|
query_cache_size=0
|
||||||
|
query_cache_type=0
|
||||||
|
|
||||||
|
sync_binlog=0
|
||||||
|
thread_cache_size=16
|
||||||
|
table_open_cache=2048
|
||||||
|
table_definition_cache=1024
|
||||||
|
|
||||||
|
#
|
||||||
|
# InnoDB
|
||||||
|
#
|
||||||
|
# The buffer pool is where data and indexes are cached: having it as large as possible
|
||||||
|
# will ensure you use memory and not disks for most read operations.
|
||||||
|
# Typical values are 50..75% of available RAM.
|
||||||
|
# TODO(tomasz.paszkowski): This needs to by dynamic based on available RAM.
|
||||||
|
innodb_buffer_pool_size=1024M
|
||||||
|
innodb_doublewrite=0
|
||||||
|
innodb_file_format=Barracuda
|
||||||
|
innodb_file_per_table=1
|
||||||
|
innodb_flush_method=O_DIRECT
|
||||||
|
innodb_io_capacity=500
|
||||||
|
innodb_locks_unsafe_for_binlog=1
|
||||||
|
innodb_log_file_size=128M
|
||||||
|
innodb_old_blocks_time=1000
|
||||||
|
innodb_read_io_threads=8
|
||||||
|
innodb_write_io_threads=8
|
||||||
|
|
||||||
|
# Clustering
|
||||||
|
binlog_format=ROW
|
||||||
|
default-storage-engine=InnoDB
|
||||||
|
innodb_autoinc_lock_mode=2
|
||||||
|
innodb_flush_log_at_trx_commit=2
|
||||||
|
wsrep_cluster_name={{ tuple "oslo_db" "direct" . | include "helm-toolkit.endpoints.hostname_namespaced_endpoint_lookup" | replace "." "_" }}
|
||||||
|
wsrep_on=1
|
||||||
|
wsrep_provider=/usr/lib/galera/libgalera_smm.so
|
||||||
|
wsrep_provider_options="evs.suspect_timeout=PT30S; gmcast.peer_timeout=PT15S; gmcast.listen_addr=tcp://0.0.0.0:{{ tuple "oslo_db" "direct" "wsrep" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}"
|
||||||
|
wsrep_slave_threads=12
|
||||||
|
wsrep_sst_auth={{ .Values.endpoints.oslo_db.auth.sst.username }}:{{ .Values.endpoints.oslo_db.auth.sst.password }}
|
||||||
|
wsrep_sst_method=mariabackup
|
||||||
|
|
||||||
|
[mysqldump]
|
||||||
|
max-allowed-packet=16M
|
||||||
|
|
||||||
|
[client]
|
||||||
|
default_character_set=utf8
|
||||||
|
protocol=tcp
|
||||||
|
port={{ tuple "oslo_db" "direct" "mysql" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
|
||||||
config_override: null
|
config_override: null
|
||||||
# Any configuration here will override the base config.
|
# Any configuration here will override the base config.
|
||||||
# config_override: |-
|
# config_override: |-
|
||||||
# [mysqld]
|
# [mysqld]
|
||||||
# wsrep_slave_threads=1
|
# wsrep_slave_threads=1
|
||||||
|
99_force: |
|
||||||
|
[mysqld]
|
||||||
|
datadir=/var/lib/mysql
|
||||||
|
tmpdir=/tmp
|
||||||
|
|
||||||
monitoring:
|
monitoring:
|
||||||
prometheus:
|
prometheus:
|
||||||
|
Loading…
Reference in New Issue
Block a user