...
1# /slow_cooker/slow_cooker --http-> gateway --grpc-> t1
2# --grpc-> t2 always-error
3# --http-> t3
4#
5
6### t1 terminates gRPC requests
7---
8apiVersion: apps/v1
9kind: Deployment
10metadata:
11 name: t1
12spec:
13 replicas: 1
14 selector:
15 matchLabels:
16 app: t1
17 template:
18 metadata:
19 labels:
20 app: t1
21 spec:
22 containers:
23 - name: t1
24 image: buoyantio/bb:v0.0.6
25 args:
26 - terminus
27 - "--grpc-server-port=9090"
28 - "--response-text=t1"
29 ports:
30 - containerPort: 9090
31---
32apiVersion: v1
33kind: Service
34metadata:
35 name: t1-svc
36spec:
37 selector:
38 app: t1
39 ports:
40 - name: grpc
41 port: 9090
42 targetPort: 9090
43
44### t2 terminates gRPC requests and always fails
45---
46apiVersion: apps/v1
47kind: Deployment
48metadata:
49 name: t2
50spec:
51 replicas: 1
52 selector:
53 matchLabels:
54 app: t2
55 template:
56 metadata:
57 labels:
58 app: t2
59 spec:
60 containers:
61 - name: t2
62 image: buoyantio/bb:v0.0.6
63 args:
64 - terminus
65 - "--grpc-server-port=9090"
66 - "--response-text=t2"
67 - "--percent-failure=100"
68 ports:
69 - containerPort: 9090
70---
71apiVersion: v1
72kind: Service
73metadata:
74 name: t2-svc
75spec:
76 selector:
77 app: t2
78 ports:
79 - name: grpc
80 port: 9090
81 targetPort: 9090
82
83# t3 terminates HTTP/1.1 requests
84---
85apiVersion: apps/v1
86kind: Deployment
87metadata:
88 name: t3
89spec:
90 replicas: 1
91 selector:
92 matchLabels:
93 app: t3
94 template:
95 metadata:
96 labels:
97 app: t3
98 spec:
99 containers:
100 - name: t3
101 image: buoyantio/bb:v0.0.6
102 args:
103 - terminus
104 - "--h1-server-port=8080"
105 - "--percent-failure=50"
106 - "--response-text=t3"
107 ports:
108 - containerPort: 8080
109---
110apiVersion: v1
111kind: Service
112metadata:
113 name: t3-svc
114spec:
115 selector:
116 app: t3
117 ports:
118 - name: http
119 port: 8080
120 targetPort: 8080
121
122### gateway broadcasts requests to t1, t2, and t3
123---
124apiVersion: apps/v1
125kind: Deployment
126metadata:
127 name: gateway
128spec:
129 replicas: 1
130 selector:
131 matchLabels:
132 app: gateway
133 template:
134 metadata:
135 labels:
136 app: gateway
137 spec:
138 containers:
139 - name: gateway
140 image: buoyantio/bb:v0.0.6
141 args:
142 - broadcast-channel
143 - "--h1-server-port=8080"
144 - "--grpc-downstream-server=t1-svc:9090"
145 - "--grpc-downstream-server=t2-svc:9090"
146 - "--h1-downstream-server=http://t3-svc:8080/testpath"
147 ports:
148 - containerPort: 8080
149---
150apiVersion: v1
151kind: Service
152metadata:
153 name: gateway-svc
154spec:
155 selector:
156 app: gateway
157 ports:
158 - name: http
159 port: 8080
160 targetPort: 8080
161
162### slow-cooker sends requests to the gateway
163---
164apiVersion: batch/v1
165kind: Job
166metadata:
167 name: slow-cooker
168spec:
169 template:
170 metadata:
171 labels:
172 app: slow-cooker
173 spec:
174 containers:
175 - name: slow-cooker
176 image: buoyantio/slow_cooker:1.3.0
177 command:
178 - "/bin/sh"
179 args:
180 - "-c"
181 - |
182 sleep 15 # wait for pods to start
183 /slow_cooker/slow_cooker -metric-addr 0.0.0.0:9999 http://gateway-svc:8080
184 ports:
185 - containerPort: 9999
186 restartPolicy: OnFailure
View as plain text