我正在尝试将静态客户端IP路由到Envoy代理内部的群集。我可以看到,只有使用deprecated_v1才能完成此操作,直到它通过过滤器链匹配在v2中实现。但是,我只是无法使其工作。配置总是失败。
我尝试使用以下代码:
static_resources:
listeners:
- address:
socket_address:
address: 0.0.0.0
port_value: 3306
filter_chains:
- filters:
- name: envoy.tcp_proxy
config:
stat_prefix: mysql
deprecated_v1:
routes:
- cluster: mysql-0
source_ip_list:
- address_prefix: 192.168.99.1
prefix_len: 32
clusters:
- name: mysql-0
connect_timeout: 1s
type: strict_dns
hosts:
- socket_address:
address: mysql-0
port_value: 3306
我希望IP为192.168.99.1的客户端始终连接到在mysql-0(DNS A记录)上侦听的服务。但是,我得到的错误如下:
[2019-01-22 08:11:44.520][9][critical][main] [source/server/server.cc:86] error initializing configuration '/etc/envoy.yaml': key 'deprecated_v1' missing or not a boolean from lines 1-1
在Envoy的v2参考(我使用的是Envoy的最新版本)中,我可以读到如果要使用v1类型配置,可以使用不透明的value属性。但是,我也没有运气尝试过。我在互联网上找不到任何示例。
谢谢!