Skip to content

Commit 16201d6

Browse files
committed
feat(monitor): add initContainers
1 parent f6ba618 commit 16201d6

2 files changed

Lines changed: 171 additions & 123 deletions

File tree

charts/monitor/templates/monitor-telegraf-daemon.yaml

Lines changed: 86 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -20,78 +20,102 @@ spec:
2020
app: drycc-monitor-telegraf
2121
spec:
2222
serviceAccount: drycc-monitor-telegraf
23+
initContainers:
24+
- name: drycc-monitor-telegraf-init
25+
image: docker.io/drycc/python-dev:latest
26+
imagePullPolicy: {{.Values.image_pull_policy}}
27+
command:
28+
- netcat
29+
- -v
30+
- -u
31+
- $(INFLUXDB_URLS_V2)
32+
env:
33+
{{- if eq .Values.global.influxdb_location "off-cluster" }}
34+
- name: "INFLUXDB_URLS_V2"
35+
valueFrom:
36+
secretKeyRef:
37+
name: influxdb-creds
38+
key: url
39+
{{- else }}
40+
- name: "INFLUXDB_URLS_V2"
41+
value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)\""
42+
- name: "INFLUXDB_V2_INPUT_URLS"
43+
value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)/metrics\""
44+
- name: "ENABLE_INFLUXDB_V2_INPUT"
45+
value: "true"
46+
{{- end }}
2347
containers:
24-
- name: drycc-monitor-telegraf
25-
image: {{.Values.telegraf.image_registry}}/{{.Values.telegraf.image_org}}/telegraf:{{.Values.telegraf.image_tag}}
26-
imagePullPolicy: {{.Values.telegraf.image_pull_policy}}
48+
- name: drycc-monitor-telegraf
49+
image: {{.Values.telegraf.image_registry}}/{{.Values.telegraf.image_org}}/telegraf:{{.Values.telegraf.image_tag}}
50+
imagePullPolicy: {{.Values.telegraf.image_pull_policy}}
2751
{{- if or (.Values.telegraf.limits_cpu) (.Values.telegraf.limits_memory)}}
28-
resources:
29-
limits:
52+
resources:
53+
limits:
3054
{{- if (.Values.telegraf.limits_cpu) }}
31-
cpu: {{.Values.telegraf.limits_cpu}}
55+
cpu: {{.Values.telegraf.limits_cpu}}
3256
{{- end}}
3357
{{- if (.Values.telegraf.limits_memory) }}
34-
memory: {{.Values.telegraf.limits_memory}}
58+
memory: {{.Values.telegraf.limits_memory}}
3559
{{- end}}
3660
{{- end}}
37-
env:
38-
- name: POD_NAMESPACE
39-
valueFrom:
40-
fieldRef:
41-
fieldPath: metadata.namespace
61+
env:
62+
- name: POD_NAMESPACE
63+
valueFrom:
64+
fieldRef:
65+
fieldPath: metadata.namespace
4266
{{- if eq .Values.global.influxdb_location "off-cluster" }}
43-
- name: "INFLUXDB_URLS_V2"
44-
valueFrom:
45-
secretKeyRef:
46-
name: influxdb-creds
47-
key: url
67+
- name: "INFLUXDB_URLS_V2"
68+
valueFrom:
69+
secretKeyRef:
70+
name: influxdb-creds
71+
key: url
4872
{{- else }}
49-
- name: "INFLUXDB_URLS_V2"
50-
value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)\""
51-
- name: "INFLUXDB_V2_INPUT_URLS"
52-
value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)/metrics\""
53-
- name: "ENABLE_INFLUXDB_V2_INPUT"
54-
value: "true"
73+
- name: "INFLUXDB_URLS_V2"
74+
value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)\""
75+
- name: "INFLUXDB_V2_INPUT_URLS"
76+
value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)/metrics\""
77+
- name: "ENABLE_INFLUXDB_V2_INPUT"
78+
value: "true"
5579
{{- end }}
56-
- name: "INFLUXDB_BUCKET"
57-
valueFrom:
58-
secretKeyRef:
59-
name: influxdb-creds
60-
key: bucket
61-
- name: "INFLUXDB_ORG"
62-
valueFrom:
63-
secretKeyRef:
64-
name: influxdb-creds
65-
key: org
66-
- name: "INFLUXDB_TOKEN"
67-
valueFrom:
68-
secretKeyRef:
69-
name: influxdb-creds
70-
key: token
71-
- name: "HOST_PROC"
72-
value: "/rootfs/proc"
73-
- name: "HOST_SYS"
74-
value: "/rootfs/sys"
75-
- name: "AGENT_QUIET"
76-
value: "true"
77-
- name: "AGENT_BUFFER_LIMIT"
78-
value: "100000"
79-
- name: "ENABLE_KUBERNETES"
80-
value: "true"
81-
- name: "ENABLE_BARE_METAL_SERVER"
82-
value: "true"
83-
volumeMounts:
84-
- mountPath: /var/run/docker.sock
85-
name: docker-socket
86-
- name: sysro
87-
mountPath: /rootfs/sys
88-
readOnly: true
89-
- name: procro
90-
mountPath: /rootfs/proc
91-
readOnly: true
92-
- name: varrunutmpro
93-
mountPath: /var/run/utmp
94-
readOnly: true
80+
- name: "INFLUXDB_BUCKET"
81+
valueFrom:
82+
secretKeyRef:
83+
name: influxdb-creds
84+
key: bucket
85+
- name: "INFLUXDB_ORG"
86+
valueFrom:
87+
secretKeyRef:
88+
name: influxdb-creds
89+
key: org
90+
- name: "INFLUXDB_TOKEN"
91+
valueFrom:
92+
secretKeyRef:
93+
name: influxdb-creds
94+
key: token
95+
- name: "HOST_PROC"
96+
value: "/rootfs/proc"
97+
- name: "HOST_SYS"
98+
value: "/rootfs/sys"
99+
- name: "AGENT_QUIET"
100+
value: "true"
101+
- name: "AGENT_BUFFER_LIMIT"
102+
value: "100000"
103+
- name: "ENABLE_KUBERNETES"
104+
value: "true"
105+
- name: "ENABLE_BARE_METAL_SERVER"
106+
value: "true"
107+
volumeMounts:
108+
- mountPath: /var/run/docker.sock
109+
name: docker-socket
110+
- name: sysro
111+
mountPath: /rootfs/sys
112+
readOnly: true
113+
- name: procro
114+
mountPath: /rootfs/proc
115+
readOnly: true
116+
- name: varrunutmpro
117+
mountPath: /var/run/utmp
118+
readOnly: true
95119
volumes:
96120
- name: docker-socket
97121
hostPath:

charts/monitor/templates/monitor-telegraf-deployment.yaml

Lines changed: 85 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -23,75 +23,99 @@ spec:
2323
app: drycc-monitor-telegraf
2424
spec:
2525
serviceAccount: drycc-monitor-telegraf
26+
initContainers:
27+
- name: drycc-monitor-telegraf-init
28+
image: docker.io/drycc/python-dev:latest
29+
imagePullPolicy: {{.Values.image_pull_policy}}
30+
command:
31+
- netcat
32+
- -v
33+
- -u
34+
- $(INFLUXDB_URLS_V2)
35+
env:
36+
{{- if eq .Values.global.influxdb_location "off-cluster" }}
37+
- name: "INFLUXDB_URLS_V2"
38+
valueFrom:
39+
secretKeyRef:
40+
name: influxdb-creds
41+
key: url
42+
{{- else }}
43+
- name: "INFLUXDB_URLS_V2"
44+
value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)\""
45+
- name: "INFLUXDB_V2_INPUT_URLS"
46+
value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)/metrics\""
47+
- name: "ENABLE_INFLUXDB_V2_INPUT"
48+
value: "true"
49+
{{- end }}
2650
containers:
27-
- name: drycc-monitor-telegraf
28-
image: {{.Values.telegraf.image_registry}}/{{.Values.telegraf.image_org}}/telegraf:{{.Values.telegraf.image_tag}}
29-
imagePullPolicy: {{.Values.telegraf.image_pull_policy}}
51+
- name: drycc-monitor-telegraf
52+
image: {{.Values.telegraf.image_registry}}/{{.Values.telegraf.image_org}}/telegraf:{{.Values.telegraf.image_tag}}
53+
imagePullPolicy: {{.Values.telegraf.image_pull_policy}}
3054
{{- if or (.Values.telegraf.limits_cpu) (.Values.telegraf.limits_memory)}}
31-
resources:
32-
limits:
55+
resources:
56+
limits:
3357
{{- if (.Values.telegraf.limits_cpu) }}
34-
cpu: {{.Values.telegraf.limits_cpu}}
58+
cpu: {{.Values.telegraf.limits_cpu}}
3559
{{- end}}
3660
{{- if (.Values.telegraf.limits_memory) }}
37-
memory: {{.Values.telegraf.limits_memory}}
61+
memory: {{.Values.telegraf.limits_memory}}
3862
{{- end}}
3963
{{- end}}
40-
env:
41-
- name: POD_NAMESPACE
42-
valueFrom:
43-
fieldRef:
44-
fieldPath: metadata.namespace
45-
{{- if eq .Values.global.influxdb_location "off-cluster" }}
46-
- name: "INFLUXDB_URLS_V2"
47-
valueFrom:
48-
secretKeyRef:
49-
name: influxdb-creds
50-
key: url
51-
{{- else }}
52-
- name: "INFLUXDB_URLS_V2"
53-
value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)\""
54-
- name: "INFLUXDB_V2_INPUT_URLS"
55-
value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)/metrics\""
56-
- name: "ENABLE_INFLUXDB_V2_INPUT"
57-
value: "true"
58-
{{- end }}
59-
- name: "INFLUXDB_BUCKET"
60-
valueFrom:
61-
secretKeyRef:
62-
name: influxdb-creds
63-
key: bucket
64-
- name: "INFLUXDB_ORG"
65-
valueFrom:
66-
secretKeyRef:
67-
name: influxdb-creds
68-
key: org
69-
- name: "INFLUXDB_TOKEN"
70-
valueFrom:
71-
secretKeyRef:
72-
name: influxdb-creds
73-
key: token
74-
- name: "AGENT_QUIET"
75-
value: "true"
76-
- name: "AGENT_BUFFER_LIMIT"
77-
value: "100000"
78-
- name: "NSQ_CONSUMER_SERVERS"
79-
value: "[{{range $i := until $nsqdNodeCount}}\"drycc-nsqd-{{$i}}.drycc-nsqd.{{$.Release.Namespace}}.svc.{{$.Values.global.cluster_domain}}:{{$.Values.nsqd.tcp_port}}\"{{if lt (add 1 $i) $nsqdNodeCount}}, {{end}}{{end}}]"
80-
- name: "NSQ_CONSUMER_TOPIC"
81-
value: "metrics"
82-
- name: "NSQ_ENDPOINTS"
83-
value: "[{{range $i := until $nsqdNodeCount}}\"http://drycc-nsqd-{{$i}}.drycc-nsqd.{{$.Release.Namespace}}.svc.{{$.Values.global.cluster_domain}}:{{$.Values.nsqd.http_port}}\"{{if lt (add 1 $i) $nsqdNodeCount}}, {{end}}{{end}}]"
64+
env:
65+
- name: POD_NAMESPACE
66+
valueFrom:
67+
fieldRef:
68+
fieldPath: metadata.namespace
69+
{{- if eq .Values.global.influxdb_location "off-cluster" }}
70+
- name: "INFLUXDB_URLS_V2"
71+
valueFrom:
72+
secretKeyRef:
73+
name: influxdb-creds
74+
key: url
75+
{{- else }}
76+
- name: "INFLUXDB_URLS_V2"
77+
value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)\""
78+
- name: "INFLUXDB_V2_INPUT_URLS"
79+
value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)/metrics\""
80+
- name: "ENABLE_INFLUXDB_V2_INPUT"
81+
value: "true"
82+
{{- end }}
83+
- name: "INFLUXDB_BUCKET"
84+
valueFrom:
85+
secretKeyRef:
86+
name: influxdb-creds
87+
key: bucket
88+
- name: "INFLUXDB_ORG"
89+
valueFrom:
90+
secretKeyRef:
91+
name: influxdb-creds
92+
key: org
93+
- name: "INFLUXDB_TOKEN"
94+
valueFrom:
95+
secretKeyRef:
96+
name: influxdb-creds
97+
key: token
98+
- name: "AGENT_QUIET"
99+
value: "true"
100+
- name: "AGENT_BUFFER_LIMIT"
101+
value: "100000"
102+
- name: "NSQ_CONSUMER_SERVERS"
103+
value: "[{{range $i := until $nsqdNodeCount}}\"drycc-nsqd-{{$i}}.drycc-nsqd.{{$.Release.Namespace}}.svc.{{$.Values.global.cluster_domain}}:{{$.Values.nsqd.tcp_port}}\"{{if lt (add 1 $i) $nsqdNodeCount}}, {{end}}{{end}}]"
104+
- name: "NSQ_CONSUMER_TOPIC"
105+
value: "metrics"
106+
- name: "NSQ_ENDPOINTS"
107+
value: "[{{range $i := until $nsqdNodeCount}}\"http://drycc-nsqd-{{$i}}.drycc-nsqd.{{$.Release.Namespace}}.svc.{{$.Values.global.cluster_domain}}:{{$.Values.nsqd.http_port}}\"{{if lt (add 1 $i) $nsqdNodeCount}}, {{end}}{{end}}]"
84108
{{- if ne .Values.global.redis_location "off-cluster" }}
85-
- name: DRYCC_REDIS_PASSWORD
86-
valueFrom:
87-
secretKeyRef:
88-
name: redis-creds
89-
key: password
90-
- name: "REDIS_SERVERS"
91-
value: "[{{range $i := until $redisNodeCount}}\":$(DRYCC_REDIS_PASSWORD)@drycc-redis-{{$i}}.drycc-redis.{{$.Release.Namespace}}.svc.{{$.Values.global.cluster_domain}}:{{$.Values.redis.port}}\"{{if lt (add 1 $i) $redisNodeCount}}, {{end}}{{end}}]"
92-
volumeMounts:
93-
- name: redis-creds
94-
mountPath: /var/run/secrets/drycc/redis/creds
109+
- name: DRYCC_REDIS_PASSWORD
110+
valueFrom:
111+
secretKeyRef:
112+
name: redis-creds
113+
key: password
114+
- name: "REDIS_SERVERS"
115+
value: "[{{range $i := until $redisNodeCount}}\":$(DRYCC_REDIS_PASSWORD)@drycc-redis-{{$i}}.drycc-redis.{{$.Release.Namespace}}.svc.{{$.Values.global.cluster_domain}}:{{$.Values.redis.port}}\"{{if lt (add 1 $i) $redisNodeCount}}, {{end}}{{end}}]"
116+
volumeMounts:
117+
- name: redis-creds
118+
mountPath: /var/run/secrets/drycc/redis/creds
95119
volumes:
96120
- name: redis-creds
97121
secret:

0 commit comments

Comments
 (0)