07 X Ds之基于 Rest管理服务器订阅
以EDS为例,Cluster为静态定义,其各Endpoint通过EDS动态发现:
DS配置格式:
clusters:
- name:
...
eds_cluster_config:
service_name: ...
eds_config:
api_config_source:
api_type: ... # API可经由REST或gRPC获取,支持的类型包括REST、GRPC和DELTA_GRPC
cluster_names: ... # 提供服务的集群名称列表,仅能与REST类型的API一起使用;多个集群用于冗余之目的,故障时将循环访问;
refresh_delay: ... # REST API轮询时间间隔;
request_timeout: ... # REST API请求超时时长,默认为1s;
注意:提供REST API服务的管理服务器(MS)也需要定义为Envoy上的集群,并由 eds等相关的动态发现服务进行调用;一般,这些管理服务器需要以静态的方式提供;
试验拓扑:
docker-compose部署:1个Envoy+1个Rest管理服务器+2个上游服务器
1、相关文件的目录结构
root@ubuntu1:~/servicemesh_in_practise/eds-rest# tree .
.
├── docker-compose.yaml
├── Dockerfile-envoy
├── envoy.yaml
└── resources
├── endpoints-2.json
└── endpoints.json
1 directory, 5 files