Skip to content

Commit f6019f4

Browse files
MarkusHamotl
authored andcommitted
Fix deployment
1 parent 63ad40c commit f6019f4

File tree

5 files changed

+195
-150
lines changed

5 files changed

+195
-150
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
manifest.yaml
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Deployment
2+
3+
In order for K8s to access the data generator Docker image, the `image-pull-cr8` secret is needed. This is replicated from the `templates` namespace.
4+
5+
The data generator uses the `admin` user and access the corresponding password from the K8s secret.
6+
7+
```console
8+
$ j2cli -c grafana_config_map.yml k8s_deploy_grafana_demo_data.yml > manifest.yaml
9+
$ kubectl --context k8s.westeurope.azure apply -f manifest.yaml
10+
```
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
kubernetes:
22
name: grafana-demo-data
3+
namespace: 00768a8e-14ea-4daa-bc38-592bf1486d85
34

4-
version: latest
5+
version: v0.1.2
56

67
ID_START: 1
78
ID_END: 150
89

910
db:
1011
crateuri: https://grafana-demo-1.westeurope.azure.cratedb.net:4200
12+
13+
credentials:
14+
username: admin
15+
password_k8s_secret: user-password-35e75e5f-5308-4e98-999d-2be9d2fa47af-0

src/data_generator/examples/grafana_demo_live/grafana_demo_model.json

Lines changed: 0 additions & 138 deletions
This file was deleted.

src/data_generator/examples/grafana_demo_live/k8s_deploy_grafana_demo_data.yml

Lines changed: 178 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,177 @@
1+
---
2+
kind: ConfigMap
3+
apiVersion: v1
4+
metadata:
5+
labels:
6+
k8s-app: datagenerator
7+
app.kubernetes.io/name: "{{ kubernetes.name }}"
8+
name: "datamodel"
9+
namespace: "{{ kubernetes.namespace }}"
10+
data:
11+
grafana_demo_model.json: |
12+
{
13+
"grafana_demo_values": {
14+
"tags": {
15+
"factory": 2,
16+
"machine": 10,
17+
"sensor": "id"
18+
},
19+
"metrics": {
20+
"temperature": {
21+
"key": {
22+
"value": "temperature"
23+
},
24+
"type": {
25+
"value": "FLOAT"
26+
},
27+
"min": {
28+
"value": 50
29+
},
30+
"max": {
31+
"value": 200
32+
},
33+
"mean": {
34+
"value": 125
35+
},
36+
"stdev": {
37+
"value": 5
38+
},
39+
"variance": {
40+
"value": 0.5
41+
},
42+
"error_rate": {
43+
"value": 0.00001
44+
},
45+
"error_length": {
46+
"value": 2.07
47+
}
48+
},
49+
"fluid_level": {
50+
"key": {
51+
"value": "fluid_level"
52+
},
53+
"type": {
54+
"value": "FLOAT"
55+
},
56+
"min": {
57+
"value": 85
58+
},
59+
"max": {
60+
"value": 100
61+
},
62+
"mean": {
63+
"value": 92
64+
},
65+
"stdev": {
66+
"value": 1
67+
},
68+
"variance": {
69+
"value": 0.01
70+
},
71+
"error_rate": {
72+
"value": 0.0001
73+
},
74+
"error_length": {
75+
"value": 2.07
76+
}
77+
},
78+
"humidity": {
79+
"key": {
80+
"value": "humidity"
81+
},
82+
"type": {
83+
"value": "FLOAT"
84+
},
85+
"min": {
86+
"value": 30
87+
},
88+
"max": {
89+
"value": 60
90+
},
91+
"mean": {
92+
"value": 45
93+
},
94+
"stdev": {
95+
"value": 1
96+
},
97+
"variance": {
98+
"value": 0.01
99+
},
100+
"error_rate": {
101+
"value": 0.0001
102+
},
103+
"error_length": {
104+
"value": 2.07
105+
}
106+
},
107+
"pressure": {
108+
"key": {
109+
"value": "pressure"
110+
},
111+
"type": {
112+
"value": "FLOAT"
113+
},
114+
"min": {
115+
"value": 0
116+
},
117+
"max": {
118+
"value": 50
119+
},
120+
"mean": {
121+
"value": 37
122+
},
123+
"stdev": {
124+
"value": 1
125+
},
126+
"variance": {
127+
"value": 0.01
128+
},
129+
"error_rate": {
130+
"value": 0.0001
131+
},
132+
"error_length": {
133+
"value": 5
134+
}
135+
},
136+
"broken": {
137+
"key": {
138+
"value": "broken"
139+
},
140+
"type": {
141+
"value": "BOOL"
142+
},
143+
"true_ratio": {
144+
"value": 0.01
145+
}
146+
}
147+
}
148+
}
149+
}
150+
151+
---
152+
apiVersion: v1
153+
kind: Secret
154+
metadata:
155+
name: image-pull-cr8
156+
namespace: "{{ kubernetes.namespace }}"
157+
labels:
158+
app.kubernetes.io/name: image-pull-cr8
159+
app.kubernetes.io/part-of: cratedb
160+
app.kubernetes.io/managed-by: replicator
161+
annotations:
162+
replicator.v1.mittwald.de/replicate-from: "templates/image-pull-cr8"
163+
type: kubernetes.io/dockerconfigjson
164+
data:
165+
.dockerconfigjson: "e30K" # empty {}
166+
167+
---
1168
apiVersion: batch/v1
2169
kind: Job
3170
metadata:
4171
labels:
5172
k8s-app: datagenerator
6-
app.kubernetes.io/name: {{ kubernetes.name }}
7-
name: dg-{{ ID_START }}
173+
app.kubernetes.io/name: "{{ kubernetes.name }}"
174+
name: "dg-{{ ID_START }}"
8175
namespace: "{{ kubernetes.namespace }}"
9176
spec:
10177
backoffLimit: 0
@@ -16,13 +183,13 @@ spec:
16183
prometheus.io/path: "/metrics"
17184
labels:
18185
k8s-app: datagenerator
19-
app.kubernetes.io/name: {{ kubernetes.name }}
186+
app.kubernetes.io/name: "{{ kubernetes.name }}"
20187
spec:
21188
imagePullSecrets:
22189
- name: image-pull-cr8
23190
containers:
24191
- name: datagenerator
25-
image: registry.cr8.net/data-generator:{{ version }}
192+
image: "registry.cr8.net/data-generator:{{ version }}"
26193
ports:
27194
- containerPort: 8000
28195
protocol: TCP
@@ -43,7 +210,7 @@ spec:
43210
- name: ID_END
44211
value: "{{ ID_END }}"
45212
- name: HOST
46-
value: {{ db.crateuri }}
213+
value: "{{ db.crateuri }}"
47214
- name: INGEST_MODE
48215
value: "0"
49216
- name: INGEST_SIZE
@@ -57,17 +224,17 @@ spec:
57224
- name: SHARDS
58225
value: "4"
59226
- name: USERNAME
60-
valueFrom:
61-
secretKeyRef:
62-
name: datagenerator
63-
key: crate_user
227+
value: "{{ credentials.username }}"
64228
- name: PASSWORD
65229
valueFrom:
66230
secretKeyRef:
67-
name: datagenerator
68-
key: crate_password
231+
name: "{{ credentials.password_k8s_secret }}"
232+
key: password
69233
restartPolicy: Never
70234
volumes:
71235
- name: datamodel
72236
configMap:
73237
name: datamodel
238+
items:
239+
- key: grafana_demo_model.json
240+
path: grafana_demo_model.json

0 commit comments

Comments
 (0)