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