forked from clemenko/k8s_yaml
-
Notifications
You must be signed in to change notification settings - Fork 0
/
flask_simple.yml
168 lines (166 loc) · 2.87 KB
/
flask_simple.yml
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
# clemenko
---
apiVersion: v1
kind: Namespace
metadata:
name: flask
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: flask
namespace: flask
labels:
app: flask
spec:
replicas: 3
strategy:
rollingUpdate:
maxSurge: 0
maxUnavailable: 1
type: RollingUpdate
selector:
matchLabels:
app: flask
template:
metadata:
labels:
app: flask
spec:
containers:
- name: flask
securityContext:
allowPrivilegeEscalation: false
image: clemenko/flask_simple #rockylinux
#command: [ "/bin/sh", "-c", "sleep 3003003240204242" ]
ports:
- containerPort: 5000
imagePullPolicy: Always
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: redis
namespace: flask
labels:
app: redis
spec:
replicas: 1
selector:
matchLabels:
app: redis
template:
metadata:
labels:
app: redis
spec:
containers:
- name: redis
image: redis
args: ["--appendonly", "yes"]
securityContext:
allowPrivilegeEscalation: false
seLinuxOptions:
level: "s0:c123,c456"
ports:
- containerPort: 6379
volumeMounts:
- name: redis-data
mountPath: /data
subPath:
volumes:
- name: redis-data
persistentVolumeClaim:
claimName: redis
---
apiVersion: v1
kind: Secret
metadata:
name: redis
namespace: flask
stringData:
CRYPTO_KEY_VALUE: "flaskisthebestdemoapplication"
CRYPTO_KEY_PROVIDER: "secret"
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: redis
namespace: flask
labels:
app: redis
spec:
storageClassName: "longhorn-crypto-per-volume"
accessModes:
- ReadWriteMany
resources:
requests:
storage: 250Mi
---
apiVersion: v1
kind: Service
metadata:
labels:
name: flask
kubernetes.io/name: "flask"
name: flask
namespace: flask
spec:
selector:
app: flask
ports:
- name: flask
protocol: TCP
port: 5000
targetPort: 5000
---
apiVersion: v1
kind: Service
metadata:
labels:
name: redis
kubernetes.io/name: "redis"
name: redis
namespace: flask
spec:
selector:
app: redis
ports:
- name: redis
protocol: TCP
port: 6379
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: flask
namespace: flask
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: flask.rfed.io
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: flask
port:
number: 5000
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: flask-ingressroute
namespace: flask
spec:
entryPoints:
- web
routes:
- match: Host(`flask.rfed.io`)
kind: Rule
services:
- name: flask
port: 5000