GitOps with Argo CD

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes applications. This is a post to show how to enable Argo CD on local k8s and AWS EKS, deploy applications and sync with GitHub manifests. Argo CD install ingress controller ingress-nginx kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml Download and install Argo CD CLI curl -sSL -o argocd-linux-amd64 https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64 sudo install -m 555 argocd-linux-amd64 /usr/local/bin/argocd rm argocd-linux-amd64 Configure Argo CD API Server and deploy zackweb Change the argocd-server service type to NodePort, initialize admin password, and deploy “zackweb” via Argo CD application manifests (argo-zackweb-application.yaml). ...

7 November 2022 · 1 min · Zack Zhou

About Zack-web Gitops project!

Project Introduction This is my first web blog using Jekyll, as a practical way by following Cloud Resume Challenge to build my cloud and devops concept and technical skillsets. ~~ The Design By design, I will create: a web blog Zack’s Blog: with content and details to introduce myself a github repo zack-gitops-project: to source control all code that I build and run locally by “jekyll serve”, validate site and pages, then push the source code to github. a Dockerfile to build jekyll code into a docker image running by nginx/alpine 3 folders with manifests for staging and prod webapp deploy: /terraform for creating AWS VPC and EKS to host the website as the production environment; /k8s-local-deploy for website image deployment to local K8S as testing; /eks-deploy for prod deployment with ArgoCD application manifest a EC2 instance: as staging environment for AWS with Godaddy domain hosting test a EKS cluster: as PROD environment to validate ArgoCD sync for web deployment The Architecture ...

2 November 2022 · 1 min · Zack Zhou