How Should I Manage Third-Party Helm Charts in a Dev Environment?

0
11
Asked By CuriousCoder42 On

Hey everyone! I'm new to Kubernetes and currently working on building a SaaS product using a k3d cluster for development. I've been exploring ways to manage third-party dependencies like cert-manager and cnpg in my dev environment. I've tried a few methods so far:

1. **Helmfile**: This didn't work out so well for me. It felt awkward, and I ran into issues with dependencies not being ready when they should be.
2. **Umbrella Chart**: I combined all my specific Helm charts into one large chart. It was easy to set up but really complicated rolling out interdependent charts since upgrades weren't straightforward.
3. **Wrapper Chart**: Right now, I'm trying to wrap individual Helm charts in my own. It lets me configure values and add custom manifests, but I've heard this might be an anti-pattern since it complicates tracking upstream dependencies.

I'm toying with the idea of writing a script to manage these deployments, but I know that simple Bash scripts are usually better for rolls than debugging. If anyone has tips or patterns that work for managing third-party charts in dev, I'd really appreciate your input!

5 Answers

Answered By KubeWizard99 On

Using an umbrella chart can work if done carefully. We maintain a base cluster chart that a lot of clients use. While upgrading components separately isn’t always easy, if you test everything together and release based on that, it tends to go smoothly. Just make sure all parts are in sync before upgrading, or hold off until they can be. Check out our GitHub for reference!

ChartMasterX -

Agreed! But be cautious with umbrella charts; they can lead to complexity and maintenance headaches. It might be better to go for a more declarative approach and leverage GitOps for deployments instead.

TechieTom -

Exactly! It’s all about managing dependencies effectively without falling into anti-pattern traps.

Answered By KustomizeHero On

I wrap all my Helm charts in Kustomize and deploy them using FluxCD. It really streamlines the process and keeps things clean—definitely the way to go!

HelmLover99 -

Totally! This is how most of us should be consuming Helm charts these days. Makes life much easier!

Answered By LocalDevPro On

For a local dev setup, I usually automate the cluster creation with a script using KinD and just set it up with the essentials to get things running. This approach simplifies development without overcomplicating the environment.

Answered By DevOpsNinja1 On

Consider using ArgoCD for all environments, including development. You can set up multi-source ArgoCD application resources that pull from Helm charts and your own Git repo with custom values files. Also, since Helm 3 is OCI-compliant, you can cache all external charts in a Harbor registry. This sets you up pretty well!

Answered By FluxFan_88 On

I’ve found that using FluxCD in a layered approach really helps. You could structure it with a core layer (like Flux and cert controllers) and then divide your configurations and add-ons down the line. It keeps everything organized and helps manage upgrades without conflicts, since apps can run parallel unless they depend on each other.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.