Search code examples
kubernetescicd

About CI/CD for kubernetes


I am using kubernetes. I can do docker builds from GitHub and upload them to docker hub on our own. However, I would like to automate the creation and updating of pods. How about Circle CI for example?

Or is it possible to use the k8s library to update the pods?


Solution

  • You can use ArgoCD image updator

    The Argo CD Image Updater can check for new versions of the container images that are deployed with your Kubernetes workloads and automatically update them to their latest allowed version using Argo CD. It works by setting appropriate application parameters for Argo CD applications, i.e. similar to argocd app set --helm-set image.tag=v1.0.1 - but in a fully automated manner.

    auto-update-features

    With auto image update, you just need to update the image in the docker registry and the image updater will take of the rest.

    Here is the minimal annotation that will be required for the image updater to consider the specific application

          annotations:
            argocd-image-updater.argoproj.io/image-list: image-alias=1234.dkr.ecr.us-east-1.amazonaws.com/staging-app
            argocd-image-updater.argoproj.io/image-alias.update-strategy: latest
            argocd-image-updater.argoproj.io/image-alias.force-update: "true"
            argocd-image-updater.argoproj.io/image-alias.allow-tags: "regexp:^build-version-tag-[0-9]+$"
            argocd-image-updater.argoproj.io/image-alias.pull-secret: pullsecret:argocd/aws-registry-secret
    

    argocd-demo-app