Argo - dejanu/devops_fundamentals GitHub Wiki

Products

  • Argo CD (Declarative continuous delivery with a fully-loaded UI)
  • Argo Workflows (Kubernetes-native workflow execution engine supporting DAG and step-based workflows)
  • Argo Rollouts (Advanced Kubernetes deployment strategies such as Canary and Blue-Green made easy)
  • Argo Events (Event based dependency management for Kubernetes)

Argo Workflows

  • Install with helm
helm repo add argo https://argoproj.github.io/argo-helm
helm repo update
helm install argo argo/argo-workflows   --namespace argo   --create-namespace   --set workflow.serviceAccount.create=true
helm install argo argo/argo-workflows --namespace argo --create-namespace \
  --set server.extraArgs[0]="--auth-mode=server"

helm uninstall argo --namespace argo
  • Install vanilla
kubectl create ns argo

# installing argo-server and wrokflow-controller
kubectl apply -n argo -f https://github.com/argoproj/argo-workflows/releases/download/v3.5.12/install.yaml

curl -L -k  https://github.com/argoproj/argo-workflows/releases/download/v3.5.12/install.yaml  -o workflow.yaml

# expose argo-server
kubectl -n argo get services -o wide | grep argo-argo-workflows-server
kubectl -n argo port-forward --address 0.0.0.0 svc/argo-server 2746:2746 > /dev/null &
  • Whenever you define a Workflow, you must define at least one (but usually more than one) template to run. A template (lower-case) is a task within a Workflow

Argo CD

  • Install
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

curl -L -k https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml -o argocd.yaml

# auth password secret
kubectl -n argocd get secrets argocd-redis -ojsonpath="{.data.auth}" | base64 -d
# get admin secret
kubectl -n argocd get secrets argocd-initial-admin-secret -ojsonpath="{.data.password}" | base64 -d 

# expose argocd-server
kubectl port-forward svc/argocd-server -n argocd 8080:443


  • Install argocd CLI