summaryrefslogtreecommitdiffstats
path: root/setup/projects/adei/vars/mysql_galera.yml
diff options
context:
space:
mode:
authorSuren A. Chilingaryan <csa@suren.me>2018-03-20 15:47:51 +0100
committerSuren A. Chilingaryan <csa@suren.me>2018-03-20 15:47:51 +0100
commite2c7b1305ca8495065dcf40fd2092d7c698dd6ea (patch)
treeabcaa7006a9c4b7a9add9bd0bf8c24f7f8ce048f /setup/projects/adei/vars/mysql_galera.yml
parent47f350bc3aa85a8bd406d95faf084df2abf74ae9 (diff)
downloadands-e2c7b1305ca8495065dcf40fd2092d7c698dd6ea.tar.gz
ands-e2c7b1305ca8495065dcf40fd2092d7c698dd6ea.tar.bz2
ands-e2c7b1305ca8495065dcf40fd2092d7c698dd6ea.tar.xz
ands-e2c7b1305ca8495065dcf40fd2092d7c698dd6ea.zip
Local volumes and StatefulSet to provision Master/Slave MySQL and Galera cluster
Diffstat (limited to 'setup/projects/adei/vars/mysql_galera.yml')
-rw-r--r--setup/projects/adei/vars/mysql_galera.yml75
1 files changed, 75 insertions, 0 deletions
diff --git a/setup/projects/adei/vars/mysql_galera.yml b/setup/projects/adei/vars/mysql_galera.yml
new file mode 100644
index 0000000..e986268
--- /dev/null
+++ b/setup/projects/adei/vars/mysql_galera.yml
@@ -0,0 +1,75 @@
+# We need to set cluster name in environment if we configure host networking...
+galera:
+ options:
+ delete: false
+ pods:
+ galera:
+ kind: StatefulSet
+ sa: "adeidb"
+ service: { headless: true, ports: [ 3306 ] }
+ network: { host: "{{ ands_hostnet_db | default(false) }}" }
+ sched: { replicas: 3, strategy: "Recreate", restrict: { fat_storage: "1" } }
+# update: { strategy: RollingUpdate, min_ready: 30 }
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - { key: "hostid", operator: "In", values: [ "1", "2", "3" ] }
+ podAntiAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ topologyKey: kubernetes.io/hostname
+ labelSelector:
+ matchExpressions:
+ - { key: name, operator: In, values: [ "galera" ] }
+ groups: [ "adei_db" ]
+ pvc: { 'adei_galera': {} }
+ images:
+ - image: "chsa/mysql-galera:5.7"
+ command: [ "run-mysqld-galera" ]
+ ports: [ 3306, 4444, 4567, 4568 ]
+ env:
+ - { name: "MYSQL_ROOT_PASSWORD", value: "secret@adei/root-password" }
+ - { name: "MYSQL_USER", value: "adei" }
+ - { name: "MYSQL_USER_PRIV_SUPER", value: "1" }
+ - { name: "MYSQL_PASSWORD", value: "secret@adei/adei-password" }
+ - { name: "MYSQL_DATABASE", value: "adei" }
+ - { name: "MYSQL_EXTRADB", value: "adei_%" }
+ - { name: "MYSQL_GALERA_USER", value: "xtrabackup_sst" }
+ - { name: "MYSQL_GALERA_PASSWORD", value: "secret@adei/service-password" }
+ - { name: "MYSQL_GALERA_CLUSTER", value: "galera-ss" }
+ mappings:
+ - { name: "adei_galera", mount: "/var/lib/mysql/data" }
+ resources: { request: { cpu: 2000m, mem: 4Gi }, limit: { cpu: 6000m, mem: 32Gi } }
+ probes:
+ - { type: "liveness", port: 3306 }
+ - { type: "readiness", command: [ /bin/sh, -i, -c, MYSQL_PWD="$MYSQL_PASSWORD" mysql -h 127.0.0.1 -u $MYSQL_USER -D $MYSQL_DATABASE -e 'SELECT 1' ], delay: "15", timeout: "5" }
+
+
+ grecovery:
+ sched: { replicas: 0, strategy: "Recreate", restrict: { fat_storage: "1" } }
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - { key: "hostid", operator: "In", values: [ "1", "2", "3" ] }
+ groups: [ "adei_db" ]
+ images:
+ - image: "chsa/mysql-galera:5.7"
+ command: [ "run-mysqld-manager" ]
+ ports: [ 3306, 4444, 4567, 4568 ]
+ env:
+ - { name: "MYSQL_ROOT_PASSWORD", value: "secret@adei/adei-password" }
+ - { name: "MYSQL_USER", value: "adei" }
+ - { name: "MYSQL_USER_PRIV_SUPER", value: "1" }
+ - { name: "MYSQL_PASSWORD", value: "secret@adei/adei-password" }
+ - { name: "MYSQL_DATABASE", value: "adei" }
+ - { name: "MYSQL_EXTRADB", value: "adei_%" }
+ - { name: "MYSQL_GALERA_USER", value: "xtrabackup_sst" }
+ - { name: "MYSQL_GALERA_PASSWORD", value: "secret@adei/service-password" }
+ - { name: "POD_NAMESPACE", value: "fieldref@metadata.namespace" }
+ - { name: "MYSQL_GALERA_CLUSTER", value: "galera-ss" }
+ mappings:
+ - { name: "adei_init", mount: "/var/lib/init" }
+ - { name: "adei_host", path: "galera", mount: "/var/lib/mysql/data" }