envoyproxy/envoy

Slow Envoy init due to secret initialization

Open

#21,492 opened on May 28, 2022

View on GitHub
 (4 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
area/go-control-planearea/sdshelp wantedinvestigate

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

Our Envoy currently holds about 2000 secrets. On startup, it will begin initializing these secrets but won't serve traffic until all of them have been loaded.

On first start, it takes about 20-30 minutes to load them all. During this time, you could run curl localhost:19000/config_dump | grep "initialized" | wc -l and it will slowly count down. Once it reaches 0, it almost immediately.

We're currently using the Golang Control Plane Snapshot API.

I'm wondering if there's a faster way to load these secrets, or potentially even a way to lazily load them?

Envoy Version: 1.21.2

I suspect this is due to us having a single control plane with ADS but I'm only spitballing here

Contributor guide