I'm facing a challenge with deploying over 1,000 Helm releases from the same charts. While I'm currently using Helmfile, it tends to be a memory hog and the speed isn't great. I've noticed it doesn't seem to utilize multiple cores effectively, despite its concurrency options. Does anyone have better strategies or tools to handle this efficiently, or should I just run multiple Helmfile processes at the same time?
5 Answers
FluxCD is definitely worth checking out for managing Helm releases. It’s been really reliable for me, and I recommend it if you’re looking for a smoother experience than Helmfile.
Have you compared Helmfile’s performance with Kustomize that utilizes helmCharts? I haven’t tested it at scale, but Kustomize renders charts first, which could be beneficial. If you use Argo, maybe consider an App of Apps pattern for better segmentation if that applies here.
Wait, are you saying you deploy 1,000 releases a day? Do you have one giant Helm chart and then create a release every time one app gets updated? That’s wild!
Have you tried using Flux? We haven't hit the 1,000 mark yet, but so far, we haven't run into any issues with it. The previous suggestion of Argo might be tricky since it doesn't fully support Helm.
Have you considered using ArgoCD? It's a pretty solid setup, especially if you manage your charts through an application set. I’ve had good experiences with it managing multiple releases.
Yeah, Argo seemed interesting but I thought there was a limit on application sets that might not fit our needs. Have you tested Argo with a large number of Helm releases?
I totally agree! It’s the only sensible way to run Helm releases in my opinion.