Repository navigation
Expand file tree
/
Copy pathdefault-task-template.yaml
More file actions
243 lines (228 loc) · 7.44 KB
/
Copy pathdefault-task-template.yaml
File metadata and controls
243 lines (228 loc) · 7.44 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
# https://druid.apache.org/docs/latest/development/extensions-contrib/k8s-jobs/
---
apiVersion: v1
kind: ConfigMap
metadata:
name: default-task-template
namespace: druid
data:
default-task-template.yaml: |+
apiVersion: v1
kind: PodTemplate
metadata:
name: druid
annotations:
dummy-annotation: "dummy"
labels:
dummy-label: "dummy"
template:
spec:
restartPolicy: Never
serviceAccount: default
serviceAccountName: default
securityContext:
fsGroup: 1000
runAsGroup: 1000
runAsUser: 1000
containers:
- name: main
image: iunera/druid:29.0.1
imagePullPolicy: Always
command:
- sh
- -c
args:
- /peon.sh /druid/data 1 --loadBroadcastSegments true
env:
- name: POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
- name: druid_host
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: status.podIP
- name: HOSTNAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
# Access Minio S3 Settings
- name: AWS_REGION
valueFrom:
secretKeyRef:
name: iuneradruid-s3iam-secrets
key: AWS_REGION
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: iuneradruid-s3iam-secrets
key: AWS_ACCESS_KEY_ID
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: iuneradruid-s3iam-secrets
key: AWS_SECRET_ACCESS_KEY
- name: druid_s3_endpoint_signingRegion
valueFrom:
secretKeyRef:
name: iuneradruid-s3iam-secrets
key: AWS_REGION
- name: druid_s3_accessKey
valueFrom:
secretKeyRef:
name: iuneradruid-s3iam-secrets
key: AWS_ACCESS_KEY_ID
- name: druid_s3_secretKey
valueFrom:
secretKeyRef:
name: iuneradruid-s3iam-secrets
key: AWS_SECRET_ACCESS_KEY
# TLS Keystore
- name: druid_server_https_keyStorePassword
valueFrom:
secretKeyRef:
name: iuneradruid-jks-keystores-secret
key: keystorepassword
# Postgres Password of user postgres (same Namespace)
- name: druid_metadata_storage_connector_password
valueFrom:
secretKeyRef:
name: iuneradruid-metastore-postgres-secret
key: postgres-password
# Druid Basic-Auth
- name: druid_auth_authenticator_db_initialAdminPassword
valueFrom:
secretKeyRef:
name: iuneradruid-auth-secrets
key: initialAdminPassword
- name: druid_escalator_internalClientUsername
valueFrom:
secretKeyRef:
name: iuneradruid-auth-secrets
key: internalUser
- name: druid_auth_authenticator_db_initialInternalClientPassword
valueFrom:
secretKeyRef:
name: iuneradruid-auth-secrets
key: internalClientPassword
- name: druid_escalator_internalClientPassword
valueFrom:
secretKeyRef:
name: iuneradruid-auth-secrets
key: internalClientPassword
# Azure AD / Pac4j / OIDC Auth
- name: druid_auth_pac4j_oidc_clientID
valueFrom:
secretKeyRef:
name: iuneradruid-auth-secrets
key: pac4j-clientID
- name: druid_auth_pac4j_oidc_clientSecret
valueFrom:
secretKeyRef:
name: iuneradruid-auth-secrets
key: pac4j-clientSecret
- name: druid_auth_pac4j_oidc_discoveryURI
valueFrom:
secretKeyRef:
name: iuneradruid-auth-secrets
key: pac4j-discoveryURI
- name: druid_auth_pac4j_cookiePassphrase
valueFrom:
secretKeyRef:
name: iuneradruid-auth-secrets
key: pac4j-cookiePassphrase
# Java optionals
- name: JAVA_OPTS
value: -Ddruid.tlsPort=8091 -Ddruid.task.executor.tlsPort=8091
-Ddruid.task.executor.enableTlsPort=true
ports:
- containerPort: 8091
name: druid-port
protocol: TCP
resources:
limits:
cpu: 2000m
memory: 4Gi
requests:
cpu: 250m
memory: 2Gi
volumeMounts:
- mountPath: /opt/druid/conf/druid/cluster/_common
name: common-config-volume
readOnly: true
- mountPath: /opt/druid/conf/druid/cluster/master/coordinator-overlord
name: nodetype-config-volume
readOnly: true
- mountPath: /druid/jks
name: keystores
readOnly: true
- mountPath: /var/druid
name: deepstorage
- mountPath: /druid/data
name: tmp-dir
volumes:
# configmaps
- name: common-config-volume
configMap:
name: iuneradruid-druid-common-config
defaultMode: 420
- name: nodetype-config-volume
configMap:
defaultMode: 420
name: default-task-template
# secrets
- name: keystores
secret:
secretName: iuneradruid-jks-keystores-secret
defaultMode: 420
# storage
- name: deepstorage
persistentVolumeClaim:
claimName: iuneradruid-deepstorage
- name: tmp-dir
emptyDir: {}
jvm.config: |-
-server
-Duser.timezone=UTC
-Dfile.encoding=UTF-8
-Dlog4j.debug
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
-Djava.io.tmpdir=/druid/data
-Xms4G
-Xmx4G
-XX:MaxDirectMemorySize=4g
runtime.properties: |
druid.port=8091
druid.service=druid/peon
# # druid.processing.buffer.sizeBytes * (druid.processing.numMergeBuffers + druid.processing.numThreads + 1)
# druid.server.http.numThreads=2
# druid.processing.numMergeBuffers=1
druid.indexer.task.baseTaskDir=/druid/data
druid.indexer.runner.type=k8s
druid.peon.mode=remote
druid.indexer.task.encapsulatedTask=true
druid.indexer.fork.property.druid.processing.intermediaryData.storage.type=deepstore
#https://druid.apache.org/docs/latest/configuration/#peon-caching
druid.realtime.cache.useCache=true
log4j2.xml: |-
<?xml version="1.0" encoding="UTF-8" ?>
<Configuration status="INFO">
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{ISO8601} %p [%t] %c - %m%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="console"/>
</Root>
</Loggers>
</Configuration>