Looking for feedbacks to implement continuous deployment on Kubernetes

11/8/2019

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 -f or helm install)
  • 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

-- vesna
continuous-deployment
continuous-integration
kubernetes

1 Answer

11/8/2019

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).

-- Jonas
Source: StackOverflow