Kubernetes Job
Mr.Lee 2025-02-26 09:55:23 DockerKubernetes
利用 Kubernetes Job 初始化数据
# 定义初始化脚本
monitor-object-init.sh
#!/bin/bash
names=("A系统" "B系统" "C系统")
services=("serviceA" "serviceC" "serviceC")
for i in "${!services[@]}"; do
name=${names[$i]}
service=${services[$i]}
curl -X POST \
'http://own-gateway:18081/api/v1/object/create' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Content-Type: application/json;charset=UTF-8' \
-d "{
\"name\": \"$name\",
\"service\": \"$service\",
\"gatherType\": \"report\"
}" -k
done
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 定义 job
post-monitor-object-init.yaml
{{- if .Values.app.fusion.enabled }}
{{ $app := "monitorObjectInit"}}
{{ $chartValues := dict "component" ( kebabcase $app ) }}
{{ $_ := set . "chartValues" $chartValues }}
apiVersion: batch/v1
kind: Job
metadata:
name: {{ include "common.names.name" . }}
labels:
{{- include "common.labels.standard" . | nindent 4 }}
annotations:
"helm.sh/hook": post-install
"helm.sh/hook-weight": "1"
"helm.sh/hook-delete-policy": hook-succeeded
spec:
backoffLimit: 1
template:
metadata:
name: {{ include "common.names.name" . }}
labels:
{{ include "common.labels.standard" . | indent 8 }}
spec:
restartPolicy: Never
containers:
- name: monitor-object-init
image: {{ include "common.images.image" .Values.app }}
imagePullPolicy: {{.Values.app.image.imagePullPolicy }}
command: [ "bash","-c", "/home/own/bin/monitor-object-init.sh" ]
{{- end }}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30