GRPC服务网格的特使代理

时间:2018-03-05 01:51:03

标签: docker proxy grpc envoyproxy

我正在尝试为Envoy做一个非常基本的设置,用于我的GRPC服务的负载平衡和发现功能。说一个非常基本的设置我有两个在Docker容器中运行的GRPC服务。根据特使文档,我应该使用" envoy.tcp_proxy"过滤器类型。在这里,我做了一个非常简单的yml配置,无法运行:

admin:
  access_log_path: /tmp/admin_access.log
  address:
    socket_address: { address: 0.0.0.0, port_value: 9901 }

static_resources:
  listeners:
  - name: listener_0
    address:
      socket_address: { address: 0.0.0.0, port_value: 10000, protocol: TCP }
    filter_chains:
    - filters:
        - name: envoy.tcp_proxy
          config:
              stat_prefix: myservice
              cluster: mycluster
  clusters:
  - name: mycluster
    connect_timeout: 0.25s
    type: LOGICAL_DNS
    # Comment out the following line to test on v6 networks
    dns_lookup_family: V4_ONLY
    lb_policy: ROUND_ROBIN
    hosts: [{ socket_address: { address: localhost, port_value: 30270 }}]
    tls_context: { sni: localhost }

显然我做错了什么,但无法在网站的任何地方找到完整的GRPC到GRPC服务网格Envoy配置示例。端口30270是我在服务器端公开和监听的端口。

鉴于以上配置说:

  

初始化配置错误' /etc/envoy.yaml':envoy.tcp_proxy   factory返回nullptr而不是空配置消息

我还需要使用HTTP管理器进行路由吗?有人可以分享一个例子吗?

1 个答案:

答案 0 :(得分:1)

您想使用 envoy.http_connection_manager 过滤器类型。 This是一个简单的gRPC配置示例。