Skip to content

Debugging Envoy Gateway with egctl

egctl is the Envoy Gateway CLI. Install: brew install egctl.

Gateway and route status

egctl x status gateway -A
egctl x status httproute -A
egctl x status httproute -A --verbose   # full condition history
egctl x status httproute -A --quiet     # latest condition only

xDS config (what Envoy actually has programmed)

egctl config envoy-proxy route -A       # all routes
egctl config envoy-proxy cluster -A     # all backends
egctl config envoy-proxy listener -A    # all listeners

Envoy admin dashboard

# Port-forwards to localhost:19000
egctl x dashboard envoy-proxy -n envoy-gateway <pod-name>

Translate a manifest to xDS or IR

egctl x translate --from gateway-api --to xds -f my-httproute.yaml
egctl x translate --from gateway-api --to ir  -f my-httproute.yaml

Gateway instances in this cluster

Instance Namespace Access
envoy-external envoy-gateway Internet-facing via Cloudflare Tunnel
envoy-internal envoy-gateway Internal network only

[VIP]: Virtual IP (Used for high-availability controlplanes) [HA]: High Availability (often reduntant hardware/software) [PVC]: k8s resource - Persistent Volume Claim [PV]: k8s resource - Persistent Volume [CNI]: k8s networking - Container Network Interface [k8s]: Shortening of Kurbenetes [CRD]: Custom Resource Definitions [S3]: Simple Storage Service [NFS]: Network File System [DR]: Disaster Recovery