@@ -34,34 +34,49 @@ Key definition 2 - `clusters` in [front-envoy.yaml](front-envoy.yaml)
34
34
type: strict_dns
35
35
lb_policy: round_robin
36
36
http2_protocol_options: {}
37
- hosts:
38
- - socket_address:
39
- address: service_blue
40
- port_value: 80
37
+ load_assignment:
38
+ cluster_name: service_blue
39
+ endpoints:
40
+ - lb_endpoints:
41
+ - endpoint:
42
+ address:
43
+ socket_address:
44
+ address: service_blue
45
+ port_value: 80
41
46
- name: service_green
42
47
connect_timeout: 0.25s
43
48
type: strict_dns
44
49
lb_policy: round_robin
45
50
http2_protocol_options: {}
46
- hosts:
47
- - socket_address:
48
- address: service_green
49
- port_value: 80
51
+ load_assignment:
52
+ cluster_name: service_green
53
+ endpoints:
54
+ - lb_endpoints:
55
+ - endpoint:
56
+ address:
57
+ socket_address:
58
+ address: service_green
59
+ port_value: 80
50
60
- name: service_red
51
61
connect_timeout: 0.25s
52
62
type: strict_dns
53
63
lb_policy: round_robin
54
64
http2_protocol_options: {}
55
- hosts:
56
- - socket_address:
57
- address: service_red
58
- port_value: 80
65
+ load_assignment:
66
+ cluster_name: service_red
67
+ endpoints:
68
+ - lb_endpoints:
69
+ - endpoint:
70
+ address:
71
+ socket_address:
72
+ address: service_red
73
+ port_value: 80
59
74
` ` `
60
75
61
76
# # Getting Started
62
77
` ` ` sh
63
- $ git clone https://github.com/yokawasa/envoy-proxy-demos.git
64
- $ cd envoy-proxy-demos/httproute-blue-green
78
+ git clone https://github.com/yokawasa/envoy-proxy-demos.git
79
+ cd envoy-proxy-demos/httproute-blue-green
65
80
` ` `
66
81
67
82
> [NOTICE] Before you run this demo, make sure that all demo containers in previous demo are stopped!
@@ -71,37 +86,60 @@ $ cd envoy-proxy-demos/httproute-blue-green
71
86
# ## Build and Run containers
72
87
73
88
` ` ` sh
74
- $ docker-compose up --build -d
89
+ docker-compose up --build -d
75
90
76
91
# check all services are up
77
- $ docker-compose ps --service
92
+ docker-compose ps --service
78
93
79
94
front-envoy
80
95
service_blue
81
96
service_green
82
97
service_red
83
98
84
99
# List containers
85
- $ docker-compose ps
100
+ docker-compose ps
86
101
87
102
Name Command State Ports
88
103
---------------------------------------------------------------------------------------------------------------------------------------
89
- httproute-blue-green_front-envoy_1 /usr/bin/dumb-init -- /bin ... Up 10000/tcp, 0.0.0.0:8000->80 /tcp, 0.0.0.0:8001->8001/tcp
90
- httproute-blue-green_service_blue_1 /bin/sh -c /usr/local/bin/ ... Up 10000/tcp, 80/tcp
91
- httproute-blue-green_service_green_1 /bin/sh -c /usr/local/bin/ ... Up 10000/tcp, 80/tcp
104
+ httproute-blue-green_front-envoy_1 /docker-entrypoint.sh /bin ... Up 10000/tcp, 0.0.0.0:8000->8000 /tcp, 0.0.0.0:8001->8001/tcp
105
+ httproute-blue-green_service_blue_1 /bin/sh -c /usr/local/bin/ ... Up 10000/tcp, 80/tcp
106
+ httproute-blue-green_service_green_1 /bin/sh -c /usr/local/bin/ ... Up 10000/tcp, 80/tcp
92
107
httproute-blue-green_service_red_1 /bin/sh -c /usr/local/bin/ ... Up 10000/tcp, 80/tcp
93
108
` ` `
94
109
95
110
# ## Access each services
96
111
97
112
Access serivce_blue and check if blue background page is displayed with 90% possibility and green background page is displayed with 10% possibility
113
+
114
+ ` ` ` sh
115
+ curl -s -v http://localhost:8000/service/blue
116
+ ` ` `
117
+
118
+ For example, you can repeat the access to '/service/blue' like this
119
+
98
120
` ` ` sh
99
- $ curl -s -v http://localhost:8000/service/blue
121
+ while true; do curl -s http://localhost:8000/service/blue | grep Hello && sleep 1; done
122
+
123
+ Hello from blue (hostname: 7d82da79d3bf resolvedhostname:172.31.0.5)
124
+ Hello from green (hostname: 7d82da79d3bf resolvedhostname:172.31.0.5)
125
+ Hello from blue (hostname: 7d82da79d3bf resolvedhostname:172.31.0.5)
126
+ Hello from blue (hostname: 7d82da79d3bf resolvedhostname:172.31.0.5)
127
+ Hello from blue (hostname: 7d82da79d3bf resolvedhostname:172.31.0.5)
128
+ Hello from blue (hostname: 7d82da79d3bf resolvedhostname:172.31.0.5)
129
+ Hello from blue (hostname: 7d82da79d3bf resolvedhostname:172.31.0.5)
130
+ Hello from blue (hostname: 7d82da79d3bf resolvedhostname:172.31.0.5)
131
+ Hello from blue (hostname: 7d82da79d3bf resolvedhostname:172.31.0.5)
132
+ Hello from blue (hostname: 7d82da79d3bf resolvedhostname:172.31.0.5)
133
+ Hello from blue (hostname: 7d82da79d3bf resolvedhostname:172.31.0.5)
134
+ Hello from green (hostname: 14de8b900934 resolvedhostname:172.31.0.4)
135
+ Hello from blue (hostname: 7d82da79d3bf resolvedhostname:172.31.0.5)
136
+ Hello from blue (hostname: 7d82da79d3bf resolvedhostname:172.31.0.5)
100
137
` ` `
101
138
139
+
102
140
Access serivce_red and check if red background page is displayed
103
141
```
104
- $ curl -s -v http://localhost:8000/service/red
142
+ curl -s -v http://localhost:8000/service/red
105
143
```
106
144
107
145
## Stop & Cleanup
@@ -110,4 +148,4 @@ $ docker-compose down --remove-orphans --rmi all
110
148
```
111
149
112
150
---
113
- [ Top] ( ../README.md )
151
+ [ Top] ( ../README.md )
0 commit comments