如何使用Envoy代理的TCP代理中的deprecated_v1?

时间:2019-01-22 08:18:38

标签: routing deprecated envoyproxy

我正在尝试将静态客户端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属性。但是,我也没有运气尝试过。我在互联网上找不到任何示例。

谢谢!

0 个答案:

没有答案