安裝 Envoy

Envoy 專案 為 `amd64` 和 `arm64` 架構提供許多預先建置的 Docker 映像檔

如果您是在 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 專案目前支援其 Linux 建置和映像檔的 `amd64` 和 `arm64` 架構。

Contrib 建置

此文件中所述,Envoy 專案允許擴展以「contrib」擴展的形式進入儲存庫。 此類擴展的要求較低,因此它們僅在特殊映像檔中預設可用。

在整個文件中,擴展會清楚地標記為 contrib 擴展或核心擴展。

映像檔變體

`envoyproxy/envoy:`

這些映像檔僅包含在 Ubuntu 基礎映像檔上建置的核心 Envoy 二進位檔。

`envoyproxy/envoy:distroless-`

這些映像檔僅包含在 distroless (nonroot/nossl) 基礎映像檔上建置的核心 Envoy 二進位檔。

這些映像檔是在容器中部署 Envoy 的最有效率且安全的方法。

`envoyproxy/envoy:contrib-`

這些映像檔包含在 Ubuntu 基礎之上建置的包含所有 contrib 擴展的 Envoy 二進位檔。

`envoyproxy/envoy:tools-`

這些映像檔包含與代理伺服器二進位檔分開但有助於支援 CI、組態產生管線等系統的工具。

`envoyproxy/envoy:dev` / `envoyproxy/envoy:dev-` / `envoyproxy/envoy:-dev` / `envoyproxy/envoy:-dev-`

Envoy 專案認為 `main` 分支在任何時候都處於候選發行版的品質,並且許多組織追蹤並在生產環境中部署 `main`。

我們鼓勵您也這樣做,以便可以盡快報告和解決問題。

`envoyproxy/envoy:debug-` / `envoyproxy/envoy:-debug-`

這些映像檔是為每個變體建置的,但具有包含除錯符號的 Envoy 二進位檔。

預先建置的 Envoy Docker 映像檔

envoyproxy/envoy

下表顯示了最新envoyproxy/envoy映像檔可用的 Docker 標籤變體。

變體

最新穩定版 (amd64/arm64)

main dev (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

建置映像檔始終使用其 commit SHA 進行版本控制,而 commit SHA 又會提交到 Envoy 儲存庫,以確保可重複建置。

變體

最新版 (amd64/arm64)

envoy-build-ubuntu (預設)

envoyproxy/envoy-build-ubuntu:

envoy-build-ubuntu:mobile

envoyproxy/envoy-build-ubuntu:mobile-

注意

`envoy-build-ubuntu` 映像檔不包含可運作的 Envoy 伺服器,但可用於建置 Envoy 和相關容器。

此映像檔需要 4-5 GB 的可用磁碟空間才能使用。