diff --git a/charts/templates/secrets.yaml b/charts/templates/secrets.yaml index 9695c035..78e96d58 100644 --- a/charts/templates/secrets.yaml +++ b/charts/templates/secrets.yaml @@ -16,7 +16,7 @@ data: # {{- else }} # mysql-root-password: {{ randAlphaNum 12 | b64enc | quote }} # {{- end }} - {{- if and .Values.mysql.mysqlUser (and (ne .Values.mysql.mysqlUser "qc_repl") (ne .Values.mysql.mysqlUser "root"))}} + {{- if and .Values.mysql.mysqlUser (and (ne .Values.mysql.mysqlUser "qc_repl") (ne .Values.mysql.mysqlUser "root")) }} {{- if .Values.mysql.mysqlPassword }} mysql-password: {{ .Values.mysql.mysqlPassword | b64enc | quote }} {{- else }} diff --git a/charts/templates/service.yaml b/charts/templates/service.yaml index ba90f768..e3d1cd3b 100644 --- a/charts/templates/service.yaml +++ b/charts/templates/service.yaml @@ -49,6 +49,7 @@ spec: app: {{ template "fullname" . }} release: {{ .Release.Name | quote }} role: master +{{- if lt 1 (.Values.replicaCount | int64) }} --- # Client service for connecting to any MySQL instance for reads. apiVersion: v1 @@ -79,6 +80,7 @@ spec: app: {{ template "fullname" . }} release: {{ .Release.Name | quote }} role: slave +{{- end }} {{ if .Values.metrics.enabled }} --- apiVersion: v1 diff --git a/charts/templates/statefulset.yaml b/charts/templates/statefulset.yaml index a44d7b81..3c7df6a0 100644 --- a/charts/templates/statefulset.yaml +++ b/charts/templates/statefulset.yaml @@ -164,7 +164,11 @@ spec: lifecycle: postStart: exec: + {{- if lt 1 (.Values.replicaCount | int64) }} command: ['sh', '-c', 'until /krypton/kryptoncli xenon ping > /dev/null 2>&1; do sleep 2; done && /krypton/kryptoncli mysql stopmonitor && /krypton/kryptoncli cluster add "$(/bin/bash /create-peers.sh)"'] + {{- else }} + command: ['sh', '-c', 'until /krypton/kryptoncli xenon ping > /dev/null 2>&1; do sleep 2; done && /krypton/kryptoncli mysql stopmonitor && /krypton/kryptoncli raft trytoleader'] + {{- end }} resources: {{ toYaml .Values.krypton.resources | indent 10 }} volumeMounts: @@ -183,8 +187,12 @@ spec: secretKeyRef: name: {{ template "fullname" . }} key: mysql-replication-password - - name: HOST_SUFFIX - value: {{ template "fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local + - name: POD_HOSTNAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: HOST + value: $(POD_HOSTNAME).{{ template "fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local - name: LEADER_START_CMD value: "/bin/bash /leader-start.sh" - name: LEADER_STOP_CMD diff --git a/charts/values.yaml b/charts/values.yaml index 52e251d7..dd9bb2d8 100644 --- a/charts/values.yaml +++ b/charts/values.yaml @@ -75,7 +75,7 @@ mysql: krypton: image: zhyass/krypton - tag: beta0.1.1 + tag: beta0.1.2 args: [] ## A string to add extra environment variables diff --git a/dockerfile/krypton/krypton-entry.sh b/dockerfile/krypton/krypton-entry.sh index f49f3550..138c8648 100755 --- a/dockerfile/krypton/krypton-entry.sh +++ b/dockerfile/krypton/krypton-entry.sh @@ -22,13 +22,7 @@ file_env() { unset "$fileVar" } -host=$(hostname) - -file_env 'HOST_SUFFIX' '' - -if [ -n "$HOST_SUFFIX" ]; then - host=$host.$HOST_SUFFIX -fi +file_env 'HOST' $(hostname) file_env 'MYSQL_REPL_PASSWORD' 'Repl_123' file_env 'LEADER_START_CMD' ':' @@ -70,7 +64,7 @@ printf '{ "purge-binlog-disabled": true, "super-idle": false } -}' "$host" "$MYSQL_REPL_PASSWORD" "$LEADER_START_CMD" "$LEADER_STOP_CMD" > /etc/krypton/krypton.json +}' "$HOST" "$MYSQL_REPL_PASSWORD" "$LEADER_START_CMD" "$LEADER_STOP_CMD" > /etc/krypton/krypton.json chown -R mysql:mysql /etc/krypton/krypton.json