Is it worth implementing a GitOps workflow with ArgoCD for Kubernetes deployments?
I keep hearing about GitOps as the next evolution of CI/CD. We currently use Jenkins to push images to K8s using 'kubectl set image', but it feels messy. Is moving to a pull-based model with ArgoCD or Flux worth the learning curve? I'm interested in how it handles configuration drift and whether it makes the audit trail easier for our compliance team. Has anyone made this switch recently?
2024-08-15 in Software Development by Mary King
| 14065 Views
All answers to this question.
GitOps is a massive upgrade for visibility. With ArgoCD, your Git repository becomes the "Single Source of Truth." If someone manually changes a replica count in the cluster using the CLI, ArgoCD detects that "drift" and automatically syncs it back to what is defined in Git. This is a dream for compliance and auditing because every change to the infrastructure is a documented commit with an author and a timestamp. No more "who changed this?" mysteries. The learning curve is there, but once you move to a declarative model, you’ll never want to go back to imperative Jenkins scripts.
Answered 2024-08-18 by Margaret Adams
How are you planning to manage secrets? GitOps requires everything to be in Git, so you'll need a solution for sensitive data like API keys.
Answered 2024-08-20 by Paul Wright
-
We are looking at Sealed Secrets or HashiCorp Vault integration. Do you find that managing these adds significant complexity to the ArgoCD setup, or is there a standard "best practice" for handling secrets in a GitOps repo?
Commented 2024-08-22 by Charles Scott
The visual dashboard in ArgoCD alone is worth it. Being able to see the health of every pod and resource in a tree view makes troubleshooting so much faster.
Answered 2024-08-24 by Nancy Green
-
Exactly, Nancy. The observability provided by the Argo UI helps even the non-DevOps members of the team understand what is running in production.
Commented 2024-08-25 by Mary King
Write a Comment
Your email address will not be published. Required fields are marked (*)

