安裝 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
$ 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 bullseye main" | sudo tee /etc/apt/sources.list.d/envoy.list
$ sudo apt-get update
$ sudo apt-get install envoy
$ envoy --version
$ 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 focal main" | sudo tee /etc/apt/sources.list.d/envoy.list
$ sudo apt-get update
$ sudo apt-get install envoy
$ envoy --version
$ 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 jammy 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
$ docker pull envoyproxy/envoy:distroless-dev-fcdc9d6d5a9da98fe30ad749201034770ff6b30e
$ docker run --rm envoyproxy/envoy:distroless-dev-fcdc9d6d5a9da98fe30ad749201034770ff6b30e --version
支援的架構
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 (預設) |
||
contrib |
||
distroless |
||
debug |
||
contrib-debug |
||
tools |
envoyproxy/envoy-build-ubuntu
建置映像檔始終使用其 commit SHA 進行版本控制,而 commit SHA 又會提交到 Envoy 儲存庫,以確保可重複建置。
變體 |
最新版 (amd64/arm64) |
---|---|
envoy-build-ubuntu (預設) |
|
envoy-build-ubuntu:mobile |
注意
`envoy-build-ubuntu` 映像檔不包含可運作的 Envoy 伺服器,但可用於建置 Envoy 和相關容器。
此映像檔需要 4-5 GB 的可用磁碟空間才能使用。