入门指南

    Envoy 目前不提供单独的预先编译好的二进制文件,但提供了 Docker 镜像。这是开始使用 Envoy 的最快方式。如果您希望在 Docker 容器外使用 Envoy,则需要。

    这些示例使用 v2 Envoy API,但仅使用 API 的静态配置功能,这对于简单的需求非常有用。 更复杂的需求是由来支持的。

    根据 Envoy 存储库中的文件运行这些命令。下面的部分给出了配置文件和执行步骤更详细的解释。

    configs/google_com_proxy.v2.yaml 中提供了一个非常简单的可用于验证基于纯 HTTP 代理的 Envoy 配置。 这不表示实际的 Envoy 部署:

    使用的 Docker 镜像将包含最新版本的 Envoy 和一个基本的 Envoy 配置。此基本配置告诉 Envoy 将入站请求路由到 *.google.com。

    是 administration 服务必须的配置。address 键指定监听地址,下面的例子监听地址是 0.0.0.0:9901。

    1. access_log_path: /tmp/admin_access.log
    2. address:
    3. socket_address: { address: 0.0.0.0, port_value: 9901 }

    包含 Envoy 启动时静态配置的所有内容,而不是 Envoy 在运行时动态配置的资源。v2 API Overview 描述了这一点。

      规范

      clusters 规范

      1. clusters:
      2. connect_timeout: 0.25s
      3. type: LOGICAL_DNS
      4. # Comment out the following line to test on v6 networks
      5. dns_lookup_family: V4_ONLY
      6. lb_policy: ROUND_ROBIN
      7. tls_context: { sni: www.google.com }

      创建一个简单的 Dockerfile 来执行 Envoy,假定 envoy.yaml(如上所述)位于本地目录中。您可以参考。

      1. COPY envoy.yaml /etc/envoy/envoy.yaml

      现在您可以执行它:

      1. $ docker run -d --name envoy -p 9901:9901 -p 10000:10000 envoy:v1

      最后测试使用:

      1. $ curl -v localhost:10000

      如果您想通过 docker-compose 使用 envoy,则可以使用 volume 覆盖提供的配置文件。

      我们使用 Docker Compose 创建了许多 sandbox ,这些 sandbox 设置了不同的环境来测试 Envoy 的功能并显示示例配置。 当我们觉得人们更有兴趣时,将添加和展示更多不同特征的 sandbox。 以下 sandbox 可用:

      除代理本身之外, Envoy 还被几个特定用例捆绑为开源发行版的一部分。