What’s the Best Way to Promote Kubernetes Environments with ArgoCD?

0
1
Asked By TechyGuru42 On

I recently watched a video by Anton Putra about setting up a production-grade environment using ArgoCD, and it sparked some questions for me. He suggests letting developers deploy applications to a development environment, and then at scheduled intervals, freezing that environment. After freezing, you promote it to staging, run tests, and finally promote it to production when everything checks out. He mentions using a Python script to go through the manifests, change annotations, and push changes to git. My concern is whether this is best practice. Does it seem like an anti-pattern to loop through manifests and rely on a script for promotions?

Additionally, how do you keep changes consistent across all environments? In the video, he focuses on using the image updater, but I'm wondering if it means copying manifest files between the development and staging folders to ensure they match correctly. Is there a better way to handle these promotions to stay organized and consistent? I'd love to hear how others manage this process!

4 Answers

Answered By DevOpsDude77 On

There has to be some way to make a commit if you're following the GitOps model. Whether it's a developer doing this manually or using a script, post-deployment checks are also necessary. So, while a Python script might seem inconvenient, it's one method among many for promoting environments in a git-centric workflow.

CuriousCoder99 -

True, it's all about automating the process while still keeping checks in place. The key is to find the right balance.

CodeWizard123 -

Exactly! Every method has its pros and cons, but the goal should be to streamline without skipping vital checks.

Answered By K8sMaestro On

In our team, we use a GitHub Action to manage this process. We've got a dedicated DevOps repo with all our Helm charts. When we're ready to deploy, we create a release and update the version number; this triggers an action that syncs everything in ArgoCD. It keeps things organized and allows us to track changes effectively.

CloudCommander -

That’s a solid approach! Keeping all manifests in version control helps with tracking changes.

HelmHero -

Using GitHub Actions is a great idea! It really brings a nice level of automation to the workflow.

Answered By K8sExplorer On

We built Reliza Hub for this very purpose—it’s a managed service that makes promoting Kubernetes apps simple. You don’t need to worry about freezing environments; you have full audit history and can even revert to previous states. You might want to check it out if manual promotions are a hassle.

PythonPro -

Sounds like a useful tool! I’m all for anything that can take away the manual burden.

DevOpsEnthusiast -

That sounds interesting! I’ll have to look into Reliza Hub. It’s great to know there are alternatives that simplify this process.

Answered By ContinuousDeliveryNinja On

Codefresh might be worth a look, as it’s built to tackle these types of issues. Tools like this can help manage the complexity of deployments and maintain consistency across environments.

StagingSavant -

I’ve heard of Codefresh; it's nice to see more options that help with deployment automation.

AutomationAce -

Yeah, integration tools are definitely a step up from manual processes.

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.