Istio Proxy が使用している Envoy のバージョンを確認する

公式サイトだと実際に動いている istio-proxy を使用して確認をする。

$ kubectl \
  exec \
  -it productpage-v1-6b746f74dc-9stvs \
  -c istio-proxy \
  -n default  \
  -- pilot-agent request GET server_info --log_as_json \
  | jq {version}
{
 "version": "2d4ec97f3ac7b3256d060e1bb8aa6c415f5cef63/1.17.0/Clean/RELEASE/BoringSSL"
}

istio.io

基本的にはこれで問題ないのだが、使用してないバージョンの Istio が使用している Envoy のバージョンを確認したい場合はこの方法では確認ができない。そこで istio-proxy の docker image を使用して確認する方法を最近は使用している。

➜ docker \
  run \
  -it \
  --rm \
  --entrypoint "" \
  istio/proxyv2:1.15.0 \
  envoy --version
envoy  version: c5837eae93559dfa0279db04b3d565b9ec01c833/1.23.1/Clean/RELEASE/BoringSSL

この場合は 1.23.1 が Envoy のバージョンになる。