-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkubernetes.yaml
197 lines (197 loc) · 4.5 KB
/
kubernetes.yaml
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
apiVersion: apps/v1
kind: Deployment
metadata:
name: flowmium-server
labels:
app: flowmium-server
spec:
replicas: 1
selector:
matchLabels:
app: flowmium-server
template:
metadata:
labels:
app: flowmium-server
spec:
serviceAccountName: flowmium-server-sa
containers:
- name: flowmium-server
image: "docker.io/shnoo28/flowmium:latest"
command:
- /flowmium
- server
- --port
- "8080"
ports:
- containerPort: 8080
resources:
requests:
memory: 1024Mi
cpu: 1000m
limits:
memory: 1025Mi
cpu: 1000m
env:
- name: FLOWMIUM_POSTGRES_URL
value: "postgres://flowmium:[email protected]/flowmium"
- name: FLOWMIUM_STORE_URL
value: "http://flowmium-minio-service.default.svc.cluster.local:9000"
- name: FLOWMIUM_TASK_STORE_URL
value: "http://flowmium-minio-service.default.svc.cluster.local:9000"
- name: FLOWMIUM_BUCKET_NAME
value: "flowmium-test"
- name: FLOWMIUM_ACCESS_KEY
value: "minio"
- name: FLOWMIUM_SECRET_KEY
value: "password"
- name: FLOWMIUM_INIT_CONTAINER_IMAGE
value: "docker.io/shnoo28/flowmium:latest"
- name: FLOWMIUM_NAMESPACE
value: "default"
livenessProbe:
exec:
command:
- sh
- -c
- >
curl --fail-with-body \
--header "Content-Type: application/json" \
--request GET \
http://127.0.0.1:8000/api/v1/job
initialDelaySeconds: 10
periodSeconds: 900
---
apiVersion: v1
kind: Service
metadata:
name: flowmium-server-service
spec:
selector:
app: flowmium-server
ports:
- protocol: TCP
port: 8080
targetPort: 8080
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: flowmium-server-sa
namespace: default
automountServiceAccountToken: true
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: default
name: flowmium-server-role
rules:
- apiGroups: ["*"]
resources: ["jobs", "pods"]
verbs: ["create", "get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: flowmium-server-bind
namespace: default
subjects:
- kind: ServiceAccount
name: flowmium-server-sa
namespace: default
roleRef:
kind: Role
name: flowmium-server-role
apiGroup: rbac.authorization.k8s.io
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: flowmium-postgres
labels:
app: flowmium-postgres
spec:
replicas: 1
selector:
matchLabels:
app: flowmium-postgres
template:
metadata:
labels:
app: flowmium-postgres
spec:
containers:
- name: flowmium-postgres
image: postgres:latest
ports:
- containerPort: 5432
env:
- name: DATABASE_HOST
value: "127.0.0.1"
- name: POSTGRES_USER
value: flowmium
- name: POSTGRES_PASSWORD
value: flowmium
- name: POSTGRES_DB
value: flowmium
---
apiVersion: v1
kind: Service
metadata:
name: flowmium-postgres-service
spec:
selector:
app: flowmium-postgres
ports:
- protocol: TCP
port: 5432
targetPort: 5432
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: flowmium-minio
labels:
app: flowmium-minio
spec:
replicas: 1
selector:
matchLabels:
app: flowmium-minio
template:
metadata:
labels:
app: flowmium-minio
spec:
containers:
- name: flowmium-minio
image: minio/minio:latest
command:
- /bin/bash
- -c
- minio server /data --console-address ":9001"
ports:
- containerPort: 9000
env:
- name: MINIO_ACCESS_KEY
value: minio
- name: MINIO_SECRET_KEY
value: password
---
apiVersion: v1
kind: Service
metadata:
name: flowmium-minio-service
spec:
selector:
app: flowmium-minio
ports:
- name: api
protocol: TCP
port: 9000
targetPort: 9000
- name: console
protocol: TCP
port: 9001
targetPort: 9001