安装 Envoy

Envoy 项目 提供了一些预构建的 Docker 镜像,适用于 amd64arm64 架构。

如果你正在 在 Mac OSX 上安装,你可以使用 brew 本地安装。

安装 Envoy 后,请查看 快速入门指南,以获取有关启动和运行 Envoy 代理的更多信息。

在基于 Debian 的 Linux 上安装 Envoy

如果你正在使用与下面显示的不同的基于 deb 的发行版,你可能仍然可以使用其中一个发行版。

$ wget -O- https://apt.envoyproxy.io/signing.key | sudo gpg --dearmor -o /etc/apt/keyrings/envoy-keyring.gpg
$ echo "deb [signed-by=/etc/apt/keyrings/envoy-keyring.gpg] https://apt.envoyproxy.io bookworm main" | sudo tee /etc/apt/sources.list.d/envoy.list
$ sudo apt-get update
$ sudo apt-get install envoy
$ envoy --version

在 Mac OSX 上安装 Envoy

你可以使用官方 brew 存储库在 Mac OSX 上安装 Envoy。

$ brew update
$ brew install envoy

使用 Docker 安装 Envoy

你可以使用官方 Docker 镜像运行 Envoy。

以下命令将拉取并显示当前镜像的 Envoy 版本。

$ docker pull envoyproxy/envoy:dev-fcdc9d6d5a9da98fe30ad749201034770ff6b30e
$ docker run --rm envoyproxy/envoy:dev-fcdc9d6d5a9da98fe30ad749201034770ff6b30e --version

支持的标签

对于稳定的 Envoy 版本,会为该版本和该次要版本的最新版本创建镜像。

例如,如果 v1.73.x 系列中的最新版本是 v1.73.7,那么将为以下版本创建镜像:

  • envoyproxy/envoy:v1.73.7

  • envoyproxy/envoy:v1.73-latest

类似的策略用于为每个版本化的变体创建镜像。

支持的架构

Envoy 项目目前支持 amd64arm64 架构用于其 Linux 构建和镜像。

Contrib 构建

本文档所述,Envoy 项目允许扩展作为“contrib”扩展进入存储库。此类扩展的要求较低,因此它们默认情况下仅在特殊镜像中可用。

在整个文档中,扩展被清楚地标记为 contrib 扩展或核心扩展。

镜像变体

envoyproxy/envoy:<version>

这些镜像仅包含在 Ubuntu 基础镜像上构建的核心 Envoy 二进制文件。

envoyproxy/envoy:distroless-<version>

这些镜像仅包含在 distroless (nonroot/nossl) 基础镜像上构建的核心 Envoy 二进制文件。

这些镜像是在容器中部署 Envoy 最有效、最安全的方式。

envoyproxy/envoy:contrib-<version>

这些镜像包含在 Ubuntu 基础之上构建的 Envoy 二进制文件,其中包含所有 contrib 扩展。

envoyproxy/envoy:tools-<version>

这些镜像包含与代理二进制文件分开的工具,但对支持系统(如 CI、配置生成管道等)非常有用

envoyproxy/envoy:dev / envoyproxy/envoy:dev-<SHA> / envoyproxy/envoy:<variant>-dev / envoyproxy/envoy:<variant>-dev-<SHA>

Envoy 项目认为 main 分支始终处于发布候选质量,许多组织在生产环境中跟踪和部署 main

我们鼓励你这样做,以便能够尽快报告和解决问题。

envoyproxy/envoy:debug-<version> / envoyproxy/envoy:<variant>-debug-<version>

这些镜像是为每个变体构建的,但 Envoy 二进制文件包含调试符号。

预构建的 Envoy Docker 镜像

envoyproxy/envoy

下表显示了最新 envoyproxy/envoy 镜像的可用 Docker 标签变体。

变体

最新稳定版 (amd64/arm64)

main 开发版 (amd64/arm64)

envoy (默认)

envoyproxy/envoy:v1.32-latest

envoyproxy/envoy:dev

contrib

envoyproxy/envoy:contrib-v1.32-latest

envoyproxy/envoy:contrib-dev

distroless

envoyproxy/envoy:distroless-v1.32-latest

envoyproxy/envoy:distroless-dev

debug

envoyproxy/envoy:debug-v1.32-latest

envoyproxy/envoy:debug-dev

contrib-debug

envoyproxy/envoy:contrib-debug-v1.32-latest

envoyproxy/envoy:contrib-debug-dev

tools

envoyproxy/envoy:tools-v1.32-latest

envoyproxy/envoy:tools-dev

envoyproxy/envoy-build-ubuntu

构建镜像始终使用其提交 SHA 进行版本控制,而提交 SHA 又会提交到 Envoy 存储库以确保可重复构建。

变体

最新版 (amd64/arm64)

envoy-build-ubuntu (默认)

envoyproxy/envoy-build-ubuntu:<build_sha>

envoy-build-ubuntu:mobile

envoyproxy/envoy-build-ubuntu:mobile-<build_sha>

注意

envoy-build-ubuntu 镜像不包含工作的 Envoy 服务器,但可用于构建 Envoy 和相关容器。

此镜像需要 4-5GB 的可用磁盘空间才能使用。