What’s the Best Way to Handle Post-Deployment Configurations in Kubernetes?

0
12
Asked By KoolKat99 On

I'm working on automating Kubernetes deployments and have hit a snag with post-deployment configurations. I'm looking for advice on how to manage these reliably. For instance, I'm using MetalLB as the main focus but I want to know the best practices for configuring the whole Kubernetes cluster after deploying applications, particularly for elements that can't be handled with `values.yaml` files. After I deploy the chart, I need to set up configurations like `IPAddressPool` and `L2Advertisement`. I've managed to do this with two separate charts—one for MetalLB and another for my custom configurations—but I feel like there's a better way to approach this. I've tried creating a dependent chart but faced issues with CRDs not being ready. I've also attempted to apply configurations through `kubectl apply`, but it hasn't been very reliable. I'm eager to hear how others tackle this challenge, so any insights, best practices, or relevant resources would be greatly appreciated!

2 Answers

Answered By GitGuru1 On

We keep everything for MetalLB in ArgoCD with the configurations stored in git. It makes things really straightforward when applying post-deployment settings.

DevDude88 -

That's a smart setup! GitOps really simplifies the deployment process by automating everything.

Answered By TechieTamer7 On

Have you checked out helmfile? It's like docker-compose for Helm. I do what you're describing using two charts: one for installing MetalLB and another for my configuration settings. I set up a dependency so the config chart runs after the MetalLB chart. Just keep in mind to disable validation on the config chart due to the CRDs from the first chart. This setup really streamlines my CI/CD pipeline since I only need one helmfile command to install everything!

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.