負載回報服務 (LRS)
負載回報服務提供一種機制,讓 Envoy 可以定期向管理伺服器發出負載回報。
這將會與管理伺服器建立雙向串流。連線後,管理伺服器可以將 LoadStatsResponse 發送給它有興趣取得負載回報的節點。此節點中的 Envoy 將開始發送 LoadStatsRequest。這是根據 負載回報間隔 定期完成的。
帶有 LRS 的 Envoy 組態範例
1static_resources:
2 listeners:
3 - address:
4 socket_address:
5 address: 0.0.0.0
6 port_value: 80
7 filter_chains:
8 - filters:
9 - name: envoy.filters.network.http_connection_manager
10 typed_config:
11 "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
12 codec_type: AUTO
13 stat_prefix: ingress_http
14 route_config:
15 name: local_route
16 virtual_hosts:
17 - name: service
18 domains:
19 - "*"
20 routes:
21 - match:
22 prefix: "/service"
23 route:
24 cluster: local_service
25 http_filters:
26 - name: envoy.filters.http.router
27 typed_config:
28 "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
29 clusters:
30 - name: local_service
31 type: STRICT_DNS
32 lb_policy: ROUND_ROBIN
33 load_assignment:
34 cluster_name: local_service
35 endpoints:
36 - lb_endpoints:
37 - endpoint:
38 address:
39 socket_address:
40 address: http_service
41 port_value: 8080
42 - name: load_reporting_cluster
43 type: STRICT_DNS
44 lb_policy: ROUND_ROBIN
45 typed_extension_protocol_options:
46 envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
47 "@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
48 explicit_http_config:
49 http2_protocol_options: {}
50 load_assignment:
51 cluster_name: load_reporting_cluster
52 endpoints:
53 - lb_endpoints:
54 - endpoint:
55 address:
56 socket_address:
57 address: lrs_server
58 port_value: 18000
59cluster_manager:
60 load_stats_config:
61 api_type: GRPC
62 grpc_services:
63 - envoy_grpc:
64 cluster_name: load_reporting_cluster
65admin:
66 address:
67 socket_address:
68 address: 0.0.0.0
69 port_value: 8081