summaryrefslogtreecommitdiffstats
path: root/kubernetes/common/etcd
diff options
context:
space:
mode:
Diffstat (limited to 'kubernetes/common/etcd')
-rw-r--r--kubernetes/common/etcd/templates/pv.yaml7
-rw-r--r--kubernetes/common/etcd/templates/statefulset.yaml54
-rw-r--r--kubernetes/common/etcd/values.yaml2
3 files changed, 30 insertions, 33 deletions
diff --git a/kubernetes/common/etcd/templates/pv.yaml b/kubernetes/common/etcd/templates/pv.yaml
index eeaa64598d..65993e5f2a 100644
--- a/kubernetes/common/etcd/templates/pv.yaml
+++ b/kubernetes/common/etcd/templates/pv.yaml
@@ -19,19 +19,20 @@
apiVersion: v1
kind: PersistentVolume
metadata:
- name: {{ $root.Release.Name }}-{{ $root.Values.service.name }}-{{ $i }}
+ name: {{ include "common.fullname" $root }}-data-{{ $i }}
namespace: {{ $root.Release.Namespace }}
labels:
type: {{ $root.Values.persistence.storageType }}
- app: {{ $root.Values.service.name }}
+ app: {{ include "common.fullname" $root }}
chart: {{ $root.Chart.Name }}-{{ $root.Chart.Version | replace "+" "_" }}
release: {{ $root.Release.Name }}
heritage: {{ $root.Release.Service }}
spec:
capacity:
- storage: {{ $root.Values.persistence.size }}
+ storage: {{ $root.Values.persistence.storage }}
accessModes:
- {{ $root.Values.persistence.accessMode }}
+ storageClassName: "{{ include "common.fullname" $root }}-data"
hostPath:
path: {{ $root.Values.persistence.mountPath }}/{{ $root.Release.Name }}/{{ $root.Values.persistence.mountSubPath }}-{{ $i }}
persistentVolumeReclaimPolicy: {{ $root.Values.persistence.volumeReclaimPolicy }}
diff --git a/kubernetes/common/etcd/templates/statefulset.yaml b/kubernetes/common/etcd/templates/statefulset.yaml
index ccc6b69971..8b6a53454e 100644
--- a/kubernetes/common/etcd/templates/statefulset.yaml
+++ b/kubernetes/common/etcd/templates/statefulset.yaml
@@ -15,14 +15,14 @@
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
- name: {{ include "common.servicename" . }}
+ name: {{ include "common.fullname" . }}
labels:
heritage: "{{ .Release.Service }}"
release: "{{ .Release.Name }}"
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
- app: {{ template "common.name" . }}
+ app: {{ include "common.name" . }}
spec:
- serviceName: {{ include "common.servicename" . }}
+ serviceName: {{ include "common.servicename" .}}
replicas: {{ .Values.replicaCount }}
template:
metadata:
@@ -45,7 +45,7 @@ spec:
{{ toYaml .Values.tolerations | indent 8 }}
{{- end }}
containers:
- - name: {{ include "common.servicename" . }}
+ - name: {{ include "common.fullname" . }}
image: "{{ .Values.repository }}/{{ .Values.image }}"
imagePullPolicy: "{{ .Values.pullPolicy }}"
ports:
@@ -72,6 +72,8 @@ spec:
- name: INITIAL_CLUSTER_SIZE
value: {{ .Values.replicaCount | quote }}
- name: SET_NAME
+ value: {{ include "common.fullname" . }}
+ - name: SERVICE_NAME
value: {{ include "common.servicename" . }}
{{- if .Values.extraEnv }}
{{ toYaml .Values.extraEnv | indent 8 }}
@@ -85,13 +87,13 @@ spec:
- |
EPS=""
for i in $(seq 0 $((${INITIAL_CLUSTER_SIZE} - 1))); do
- EPS="${EPS}${EPS:+,}http://${SET_NAME}-${i}.${SET_NAME}:2379"
+ EPS="${EPS}${EPS:+,}http://${SET_NAME}-${i}.${SERVICE_NAME}:2379"
done
HOSTNAME=$(hostname)
member_hash() {
- etcdctl member list | grep http://${HOSTNAME}.${SET_NAME}:2380 | cut -d':' -f1 | cut -d'[' -f1
+ etcdctl member list | grep http://${HOSTNAME}.${SERVICE_NAME}:2380 | cut -d':' -f1 | cut -d'[' -f1
}
SET_ID=${HOSTNAME##*[^0-9]}
@@ -113,28 +115,28 @@ spec:
# store member id into PVC for later member replacement
collect_member() {
while ! etcdctl member list &>/dev/null; do sleep 1; done
- etcdctl member list | grep http://${HOSTNAME}.${SET_NAME}:2380 | cut -d':' -f1 | cut -d'[' -f1 > /var/run/etcd/member_id
+ etcdctl member list | grep http://${HOSTNAME}.${SERVICE_NAME}:2380 | cut -d':' -f1 | cut -d'[' -f1 > /var/run/etcd/member_id
exit 0
}
eps() {
EPS=""
for i in $(seq 0 $((${INITIAL_CLUSTER_SIZE} - 1))); do
- EPS="${EPS}${EPS:+,}http://${SET_NAME}-${i}.${SET_NAME}:2379"
+ EPS="${EPS}${EPS:+,}http://${SET_NAME}-${i}.${SERVICE_NAME}:2379"
done
echo ${EPS}
}
member_hash() {
- etcdctl member list | grep http://${HOSTNAME}.${SET_NAME}:2380 | cut -d':' -f1 | cut -d'[' -f1
+ etcdctl member list | grep http://${HOSTNAME}.${SERVICE_NAME}:2380 | cut -d':' -f1 | cut -d'[' -f1
}
# we should wait for other pods to be up before trying to join
# otherwise we got "no such host" errors when trying to resolve other members
for i in $(seq 0 $((${INITIAL_CLUSTER_SIZE} - 1))); do
while true; do
- echo "Waiting for ${SET_NAME}-${i}.${SET_NAME} to come up"
- ping -W 1 -c 1 ${SET_NAME}-${i}.${SET_NAME} > /dev/null && break
+ echo "Waiting for ${SET_NAME}-${i}.${SERVICE_NAME} to come up"
+ ping -W 1 -c 1 ${SET_NAME}-${i}.${SERVICE_NAME} > /dev/null && break
sleep 1s
done
done
@@ -145,11 +147,11 @@ spec:
member_id=$(cat /var/run/etcd/member_id)
# re-join member
- ETCDCTL_ENDPOINT=$(eps) etcdctl member update ${member_id} http://${HOSTNAME}.${SET_NAME}:2380 | true
+ ETCDCTL_ENDPOINT=$(eps) etcdctl member update ${member_id} http://${HOSTNAME}.${SERVICE_NAME}:2380 | true
exec etcd --name ${HOSTNAME} \
--listen-peer-urls http://0.0.0.0:2380 \
--listen-client-urls http://0.0.0.0:2379\
- --advertise-client-urls http://${HOSTNAME}.${SET_NAME}:2379 \
+ --advertise-client-urls http://${HOSTNAME}.${SERVICE_NAME}:2379 \
--data-dir /var/run/etcd/default.etcd
fi
@@ -170,7 +172,7 @@ spec:
fi
echo "Adding new member"
- etcdctl member add ${HOSTNAME} http://${HOSTNAME}.${SET_NAME}:2380 | grep "^ETCD_" > /var/run/etcd/new_member_envs
+ etcdctl member add ${HOSTNAME} http://${HOSTNAME}.${SERVICE_NAME}:2380 | grep "^ETCD_" > /var/run/etcd/new_member_envs
if [ $? -ne 0 ]; then
echo "Exiting"
@@ -186,37 +188,37 @@ spec:
exec etcd --name ${HOSTNAME} \
--listen-peer-urls http://0.0.0.0:2380 \
--listen-client-urls http://0.0.0.0:2379 \
- --advertise-client-urls http://${HOSTNAME}.${SET_NAME}:2379 \
+ --advertise-client-urls http://${HOSTNAME}.${SERVICE_NAME}:2379 \
--data-dir /var/run/etcd/default.etcd \
- --initial-advertise-peer-urls http://${HOSTNAME}.${SET_NAME}:2380 \
+ --initial-advertise-peer-urls http://${HOSTNAME}.${SERVICE_NAME}:2380 \
--initial-cluster ${ETCD_INITIAL_CLUSTER} \
--initial-cluster-state ${ETCD_INITIAL_CLUSTER_STATE}
fi
PEERS=""
for i in $(seq 0 $((${INITIAL_CLUSTER_SIZE} - 1))); do
- PEERS="${PEERS}${PEERS:+,}${SET_NAME}-${i}=http://${SET_NAME}-${i}.${SET_NAME}:2380"
+ PEERS="${PEERS}${PEERS:+,}${SET_NAME}-${i}=http://${SET_NAME}-${i}.${SERVICE_NAME}:2380"
done
collect_member &
# join member
exec etcd --name ${HOSTNAME} \
- --initial-advertise-peer-urls http://${HOSTNAME}.${SET_NAME}:2380 \
+ --initial-advertise-peer-urls http://${HOSTNAME}.${SERVICE_NAME}:2380 \
--listen-peer-urls http://0.0.0.0:2380 \
--listen-client-urls http://0.0.0.0:2379 \
- --advertise-client-urls http://${HOSTNAME}.${SET_NAME}:2379 \
+ --advertise-client-urls http://${HOSTNAME}.${SERVICE_NAME}:2379 \
--initial-cluster-token etcd-cluster-1 \
--initial-cluster ${PEERS} \
--initial-cluster-state new \
--data-dir /var/run/etcd/default.etcd
volumeMounts:
- - name: {{ include "common.servicename" . }}-datadir
+ - name: {{ include "common.fullname" . }}-data
mountPath: /var/run/etcd
{{- if .Values.persistence.enabled }}
volumeClaimTemplates:
- metadata:
- name: {{ include "common.servicename" . }}-data
+ name: {{ include "common.fullname" . }}-data
spec:
accessModes:
- "{{ .Values.persistence.accessMode }}"
@@ -224,16 +226,10 @@ spec:
requests:
# upstream recommended max is 700M
storage: "{{ .Values.persistence.storage }}"
- {{- if .Values.persistence.storageClass }}
- {{- if (eq "-" .Values.persistence.storageClass) }}
- storageClassName: ""
- {{- else }}
- storageClassName: "{{ .Values.persistence.storageClass }}"
- {{- end }}
- {{- end }}
+ storageClassName: {{ include "common.fullname" . }}-data
{{- else }}
volumes:
- - name: {{ include "common.servicename" . }}-datadir
+ - name: {{ include "common.fullname" . }}-data
{{- if .Values.memoryMode }}
emptyDir:
medium: Memory
diff --git a/kubernetes/common/etcd/values.yaml b/kubernetes/common/etcd/values.yaml
index a999b0c530..341e35cf77 100644
--- a/kubernetes/common/etcd/values.yaml
+++ b/kubernetes/common/etcd/values.yaml
@@ -57,7 +57,7 @@ persistence:
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
- storageClass: "-"
+ #storageClass: "-"
accessMode: "ReadWriteOnce"
storage: "1Gi"
mountPath: /dockerdata-nfs