1
- {{- if and .Values.etcdMonitoringHelper.enabled .Values.etcdMonitoringHelper.etcdEndpointSecretGenerator.enabled -}}
2
- {{- if not (lookup "v1" "Endpoints" "kube-system" "whizard-monitoring-agent-k-kube-etcd") }}
1
+ {{- if and .Values.etcdMonitoringHelper.enabled .Values.etcdMonitoringHelper.etcdEndpointSecretGenerator.enabled }}
3
2
apiVersion : v1
4
3
kind : ConfigMap
5
4
metadata :
@@ -8,23 +7,38 @@ metadata:
8
7
labels :
9
8
app : etcd-endpoint-secret-generator
10
9
annotations :
11
- " helm.sh/hook " : pre -install,pre -upgrade
10
+ " helm.sh/hook " : post -install,post -upgrade
12
11
" helm.sh/hook-delete-policy " : hook-succeeded,before-hook-creation
13
12
data :
14
13
etcd-endpoint-secret-generator.sh : |
15
14
#!/bin/sh
16
-
17
- kubectl -n {{ template "wiztelemetry-monitoring-helper.namespace" . }} create secret generic kube-etcd-client-certs \
18
- --from-file=etcd-client-ca.crt=/etc/ssl/etcd/ssl/ca.pem \
19
- --from-file=etcd-client.crt=/etc/ssl/etcd/ssl/node-${KUBERNETES_NODE_NAME}.pem \
20
- --from-file=etcd-client.key=/etc/ssl/etcd/ssl/node-${KUBERNETES_NODE_NAME}-key.pem
21
-
22
- cat <<EOF > etcd-endpoints.yaml
15
+
16
+ if kubectl get endpoints whizard-monitoring-agent-k-kube-etcd -n kube-system >/dev/null 2>&1; then
17
+ echo "Endpoint whizard-monitoring-agent-k-kube-etcd exists. Skip."
18
+ elif [ $? -eq 1 ]; then
19
+ kubectl -n {{ template "wiztelemetry-monitoring-helper.namespace" . }} create secret generic kube-etcd-client-certs \
20
+ --from-file=etcd-client-ca.crt=/etc/ssl/etcd/ssl/ca.pem \
21
+ --from-file=etcd-client.crt=/etc/ssl/etcd/ssl/node-${KUBERNETES_NODE_NAME}.pem \
22
+ --from-file=etcd-client.key=/etc/ssl/etcd/ssl/node-${KUBERNETES_NODE_NAME}-key.pem
23
+
24
+ cat <<EOF > etcd-endpoints.yaml
23
25
apiVersion: v1
24
26
kind: Endpoints
25
27
metadata:
28
+ annotations:
29
+ meta.helm.sh/release-name: whizard-monitoring-agent
30
+ meta.helm.sh/release-namespace: kubesphere-monitoring-system
26
31
labels:
32
+ app: kube-prometheus-stack-kube-etcd
33
+ app.kubernetes.io/instance: whizard-monitoring-agent
34
+ app.kubernetes.io/managed-by: Helm
27
35
app.kubernetes.io/name: etcd
36
+ app.kubernetes.io/part-of: kube-prometheus-stack
37
+ app.kubernetes.io/vendor: kubesphere
38
+ heritage: Helm
39
+ k8s-app: etcd-server
40
+ kubesphere.io/extension-ref: whizard-monitoring
41
+ release: whizard-monitoring-agent
28
42
name: whizard-monitoring-agent-k-kube-etcd
29
43
namespace: kube-system
30
44
subsets:
@@ -34,18 +48,23 @@ data:
34
48
protocol: TCP
35
49
addresses:
36
50
EOF
37
-
38
- # get etcd address from kube-apiserver and replace the etcd address in etcd-endpoints.yaml
39
- etcdendpoints=$(kubectl get pod -n kube-system -l component=kube-apiserver -o jsonpath='{.items[0].spec.containers[0].command}' | jq -r '.[] | select(startswith("--etcd-servers="))' | grep -oE "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
40
-
41
- for ip in $etcdendpoints; do
42
- echo " - ip: $ip" >> etcd-endpoints.yaml
43
- done
44
-
45
- kubectl apply -f etcd-endpoints.yaml
46
-
51
+
52
+ # get etcd address from kube-apiserver and replace the etcd address in etcd-endpoints.yaml
53
+ etcdendpoints=$(kubectl get pod -n kube-system -l component=kube-apiserver -o jsonpath='{.items[0].spec.containers[0].command}' | jq -r '.[] | select(startswith("--etcd-servers="))' | grep -oE "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
54
+
55
+ for ip in $etcdendpoints; do
56
+ echo " - ip: $ip" >> etcd-endpoints.yaml
57
+ done
58
+
59
+ kubectl apply -f etcd-endpoints.yaml
60
+ else
61
+ echo "Error checking Endpoint" >&2
62
+ exit 1
63
+ fi
47
64
65
+ {{- end }}
48
66
---
67
+ {{- if and .Values.etcdMonitoringHelper.enabled .Values.etcdMonitoringHelper.etcdEndpointSecretGenerator.enabled }}
49
68
apiVersion : batch/v1
50
69
kind : Job
51
70
metadata :
@@ -54,7 +73,7 @@ metadata:
54
73
labels :
55
74
app : etcd-endpoint-secret-generator
56
75
annotations :
57
- " helm.sh/hook " : pre -install,pre -upgrade
76
+ " helm.sh/hook " : post -install,post -upgrade
58
77
" helm.sh/hook-delete-policy " : hook-succeeded,before-hook-creation
59
78
spec :
60
79
backoffLimit : {{ .Values.hook.backoffLimit }}
@@ -137,5 +156,5 @@ spec:
137
156
defaultMode : 420
138
157
name : {{ printf "%s-%s" (include "wiztelemetry-monitoring-helper.fullname" .) "etcd-endpoint-secret-generator" | trunc 63 | trimSuffix "-" }}
139
158
name : etcd-endpoint-secret-generator
140
- {{- end -}}
141
- {{- end - }}
159
+
160
+ {{- end }}
0 commit comments