Looking for feedbacks to implement continuous deployment on Kubernetes
I would like to implement continuous deployment on my Kubernetes-based infrastructure and I'm looking for advice. I already use a CI tool. All the manifests are currently stored on git, the same way one would store it to use GitOps.
From my research, I see 3 ways to implement continuous deployment:
- write and maintain homemade scripts (basically run
kubectl apply -for
- use a comprehensive CI/CD tool (like GitLab)
- use a dedicated CD tool (like Spinnaker, ArgoCD, ...)
Could you explain me which option you chose and why? And are you satisfied with it or do you think you will change in the future?
Thank you very much for your answers 🙂
There is not much difference in your options. CICD services are triggered from your git-repository-service with a hook. Your CICD pipeline e.g. GitLab CI/CD or ArgoCD will then apply your config with e.g.
kubectl apply -k somepath/using kustomize for environment parameters (or alternatively with Helm).