-
Notifications
You must be signed in to change notification settings - Fork 47
/
workload.yaml
163 lines (163 loc) · 3.39 KB
/
workload.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
apiVersion: apps/v1
kind: Deployment
metadata:
name: wasm-slight
spec:
replicas: 1
selector:
matchLabels:
app: wasm-slight
template:
metadata:
labels:
app: wasm-slight
spec:
runtimeClassName: wasmtime-slight
containers:
- name: slight-hello
image: ghcr.io/deislabs/containerd-wasm-shims/examples/slight-rust-hello:v0.11.1
command: ["/"]
resources: # limit the resources to 128Mi of memory and 100m of CPU
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi
---
apiVersion: v1
kind: Service
metadata:
name: wasm-slight
spec:
ports:
- protocol: TCP
port: 80
targetPort: 3000
selector:
app: wasm-slight
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: wasm-wws
spec:
replicas: 1
selector:
matchLabels:
app: wasm-wws
template:
metadata:
labels:
app: wasm-wws
spec:
runtimeClassName: wasmtime-wws
containers:
- name: wws-hello
image: ghcr.io/deislabs/containerd-wasm-shims/examples/wws-js-hello:v0.11.1
command: ["/"]
resources: # limit the resources to 128Mi of memory and 100m of CPU
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi
---
apiVersion: v1
kind: Service
metadata:
name: wasm-wws
spec:
ports:
- protocol: TCP
port: 80
targetPort: 3000
selector:
app: wasm-wws
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: wasm-lunatic
spec:
replicas: 1
selector:
matchLabels:
app: wasm-lunatic
template:
metadata:
labels:
app: wasm-lunatic
spec:
runtimeClassName: wasmtime-lunatic
containers:
- name: lunatic
image: ghcr.io/deislabs/containerd-wasm-shims/examples/lunatic-submillisecond:v0.11.1
resources: # limit the resources to 128Mi of memory and 100m of CPU
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi
---
apiVersion: v1
kind: Service
metadata:
name: wasm-lunatic
spec:
ports:
- protocol: TCP
port: 80
targetPort: 3000
selector:
app: wasm-lunatic
---
# Middleware
# Strip prefix /slight
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: strip-prefix
spec:
stripPrefix:
forceSlash: false
prefixes:
- /slight
- /wws
- /lunatic
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: wasm-ingress
annotations:
ingress.kubernetes.io/ssl-redirect: "false"
traefik.ingress.kubernetes.io/router.middlewares: default-strip-prefix@kubernetescrd
spec:
ingressClassName: traefik
rules:
- http:
paths:
- path: /slight
pathType: Prefix
backend:
service:
name: wasm-slight
port:
number: 80
- path: /wws
pathType: Prefix
backend:
service:
name: wasm-wws
port:
number: 80
- path: /lunatic
pathType: Prefix
backend:
service:
name: wasm-lunatic
port:
number: 80