How to install and configure Argo Workflows on GKE

Danilo Rocha
sysmap-labs
Published in
2 min readMar 29, 2021

--

What is Argo Workflows?

Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Argo Workflows is implemented as a Kubernetes CRD (Custom Resource Definition).

  • Define workflows where each step in the workflow is a container.
  • Model multi-step workflows as a sequence of tasks or capture the dependencies between tasks using a directed acyclic graph (DAG).
  • Easily run compute intensive jobs for machine learning or data processing in a fraction of the time using Argo Workflows on Kubernetes.
  • Run CI/CD pipelines natively on Kubernetes without configuring complex software development products.

Source: https://argoproj.github.io/argo-workflows/

Now, we already know what Argo Workflows is, let’ s proceeed to the installation:

0- On GKE, you need access to create clusterroles on your kubernetes cluster, to grant this access, please execute the command below:

kubectl create clusterrolebinding YOURNAME-cluster-admin-binding --clusterrole=cluster-admin --user=YOUREMAIL@gmail.com

After that, you are able to proceed to the installation process.

1- Create the argo namespace where you would like to install:

kubectl create ns argo

2- Install Argo Workflows on desired namespace:

kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-workflows/stable/manifests/quick-start-postgres.yaml -n argo

2.1 If you desire to isolate your Argo Workflows installation, you can use the namespaced installation. This kind of installation do not need clusterrole permissions to execute the controller:

kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-workflows/master/manifests/namespace-install.yaml -n argo

3- Now you need to check if every thing is running:

kubectl get pods-n argoNAME                                READY STATUS  RESTARTS AGE
argo-server-cb6b4fb8c-m2f6p 1/1 Running 0 90s
workflow-controller-57b997b9bc-rgk2f 1/1 Running 0 90s

4- To check the Argo Workflows UI you need to execute the command below:

kubectl port-forward svc/argo-server 2746:2746 -n argo

and access http://localhost:2746

That is it! Thank you so much for your time!

See you soon…

--

--