Install Envoy Proxy on Ubuntu 22.04

This article is going to teach you how to Install Envoy Proxy on Ubuntu 22.04. Envoy Proxy is a modern edge and service proxy with a small footprint and outstanding performance. Software load balancers like NGINX and HAProxy are most equivalent to Envoy. Envoy, which was developed and implemented at Lyft, currently has a large community of contributors and is an official Cloud Native Computing Foundation project.

How to Install Envoy Proxy on Ubuntu 22.04

  • To Install Envoy Proxy on Ubuntu 22.04, start by updating and upgrading your system using the following command.
sudo apt -y update && sudo apt -y upgrade
  • Next Install the dependencies for Envoy proxy server which are required for it to work properly.
sudo apt install apt-transport-https gnupg2 curl lsb-release
  • Then import the GPG key used for signing APT packages.
curl -sL '' | sudo gpg --dearmor -o /usr/share/keyrings/getenvoy-keyring.gpg
  • Use the echo command below to check if the key is signed, if everything went well it should respond with OK.
echo a077cb587a1b622e03aa4bf2f3689de14658a9497a9af2c427bba5f4cc3c4723 /usr/share/keyrings/getenvoy-keyring.gpg | sha256sum --check
  • Update the changes by running system updates once more.
 sudo apt update
  • After updating your system, add the key to your system using the following command.
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/getenvoy-keyring.gpg] $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/getenvoy.list

Install Envoy Proxy on Ubuntu 22.04

  • Finally, use the command below to install Envoy Proxy on Ubuntu 22.04.
sudo apt install getenvoy-envoy -y

Sample output

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  galera-4 libaio1 libconfig-inifiles-perl
  libdbd-mariadb-perl libfprint-2-tod1
  libhtml-template-perl libmariadb3 libpmem1
  libreadline5 libterm-readkey-perl
  mariadb-client-10.7 mariadb-client-core-10.7
  mariadb-common mariadb-server-10.7
  mariadb-server-core-10.7 mongodb-database-tools
  mongodb-mongosh socat
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 16.5 MB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 focal/main amd64 getenvoy-envoy amd64 1.18.2.p0.gd362e79-1p75.g76c310e [16.5 MB]
Fetched 16.5 MB in 13s (1,317 kB/s)                  
Selecting previously unselected package getenvoy-envoy
(Reading database ... 218982 files and directories cur
rently installed.)
Preparing to unpack .../getenvoy-envoy_1.18.2.p0.gd362
e79-1p75.g76c310e_amd64.deb ...
Unpacking getenvoy-envoy (1.18.2.p0.gd362e79-1p75.g76c
310e) ...
Setting up getenvoy-envoy (1.18.2.p0.gd362e79-1p75.g76
c310e) ...
  • You can check the version you installed using the command below.
envoy --version
  • List some of Envoy commands.
envoy --help

Sample output


   envoy  [--enable-core-dump] [--socket-mode ] [--socket-path
          ] [--disable-extensions ] [--cpuset-threads]
          [--enable-mutex-tracing] [--disable-hot-restart] [--mode
          ] [--parent-shutdown-time-s ] [--drain-strategy
          ] [--drain-time-s ] [--file-flush-interval-msec
          ] [--service-zone ] [--service-node ]
          [--service-cluster ] [--hot-restart-version]
          [--restart-epoch ] [--log-path ]
          [--enable-fine-grain-logging] [--log-format-escaped]
          [--log-format ] [--component-log-level ] [-l
          ] [--local-address-ip-version ]
          [--admin-address-path ] [--ignore-unknown-dynamic-fields]
          [--reject-unknown-dynamic-fields] [--allow-unknown-static-fields]
          [--allow-unknown-fields] [--bootstrap-version ]
          [--config-yaml ] [-c ] [--concurrency ]
          [--base-id-path ] [--use-dynamic-base-id] [--base-id
          ] [--] [--version] [-h]


     Enable core dumps

     Socket file permission

     Path to hot restart socket file

     Comma-separated list of extensions to disable

     Get the default # of worker threads from cpuset size

     Enable mutex contention tracing functionality

     Disable hot restart functionality

     One of 'serve' (default; validate configs and then serve traffic
     normally) or 'validate' (validate configs and exit).

     Hot restart parent shutdown time in seconds

     Hot restart drain sequence behaviour, one of 'gradual' (default) or

     Hot restart and LDS removal drain time in seconds

     Interval for log flushing in msec

     Zone name

     Node name

     Cluster name

     hot restart compatibility version

     hot restart epoch #

     Path to logfile

     Logger mode: enable file level log control(Fancy Logger)or not

     Escape c-style escape sequences in the application logs

     Log message format in spdlog syntax (see

     Default is "[%Y-%m-%d %T.%e][%t][%l][%n] [%g:%#] %v"

     Comma separated list of component log levels. For example

   -l ,  --log-level 
     Log levels: [trace][debug][info][warning

     Default is [info]

     The local IP address version (v4 or v6).

     Admin address path

     ignore unknown fields in dynamic configuration

     reject unknown fields in dynamic configuration

     allow unknown fields in static configuration

     allow unknown fields in static configuration (DEPRECATED)

     API version to parse the bootstrap config as (e.g. 3). If unset, all
     known versions will be attempted

     Inline YAML configuration, merges with the contents of --config-path

   -c ,  --config-path 
     Path to configuration file

     # of worker threads to run

     path to which the base ID is written

     the server chooses a base ID dynamically. Supersedes a static base ID.
     May not be used when the restart epoch is non-zero.

     base ID so that multiple envoys can run on the same host if needed

   --,  --ignore_rest
     Ignores the rest of the labeled arguments following this flag.

     Displays version information and exits.

   -h,  --help
     Displays usage information and exits.

  • You have reached the end of the article, Congratulations. You have learned how to install Envoy Proxy on Ubuntu 22.04.

Getting Started with Envoy Proxy

Check the documentation page on how to get started with Envoy proxy.

Other Tutorials

Install Squid Proxy on Ubuntu 22.04

Install VeraCrypt on Ubuntu 22.04

Encrypt data using EncFS on Ubuntu 22.04

System administrator | Software Developer | DevOps

Leave a Comment