Argo installation

Work in progress#

Running services and workflows using Argo on Kubernetes/OpenShift is a work in progress and has not been integrated to the d2s tool ๐Ÿ”ง

Argo can be used to perform XML conversion. Apache Drill needs to be deployed on Kubernetes to process tabular files.


Install the OpenShift client#

Download the oc client to connect to the DSRI OpenShift cluster.

wget https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
tar xvf openshift-origin-client-tools*.tar.gz
cd openshift-origin-client*/
sudo mv oc kubectl /usr/local/bin/

Install Argo#

Argo allows you to describe and run workflows on Kubernetes clusters.

Download the Argo client to run workflows on the cluster, from your computer.

Install on Linux#

curl -sSL -o /usr/local/bin/argo https://github.com/argoproj/argo/releases/download/v2.3.0/argo-linux-amd64
chmod +x /usr/local/bin/argo

Install on MacOS#

brew install argoproj/tap/argo

Install on Windows#

Browse Argo releases.

Download the latest release executable for Windows.


Install local Kubernetes#

Install kubectl on Ubuntu#

sudo snap install microk8s --classic
sudo snap alias microk8s.kubectl kubectl
mkdir -p ~/.kube
microk8s.kubectl config view --raw > $HOME/.kube/config

Install kubectl on MacOS#

Included in Docker installation.

Activate it in Docker Preferences > Kubernetes.


Install Dashboard UI#

# Install Kubernetes UI
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta4/aio/deploy/recommended.yml
kubectl apply -f d2s-core/argo/roles/dashboard-adminuser.yml
kubectl apply -f d2s-core/argo/roles/admin-role-binding.yml
# Get the Token
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
# Start proxy
kubectl proxy

Then visit: http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/.


Install Argo#

kubectl create ns argo
# On argo namespace
kubectl apply -n argo -f https://raw.githubusercontent.com/vemonet/argo/master/manifests/namespace-install.yml
kubectl create rolebinding default-admin --clusterrole=admin --serviceaccount=default:default
# Expose Argo UI
kubectl -n argo port-forward deployment/argo-ui 8002:8001

Argo UI on http://localhost:8002.


Create persistent volume#

# Create volume
kubectl apply -n argo -f d2s-core/argo/storage/storage-mac.yml

TODO: Not working at the moment.


Uninstall#

Clean uninstall before 2.2.

kubectl get cm workflow-controller-configmap -o yaml -n kube-system --export | kubectl apply -n argo -f -
kubectl delete -n kube-system cm workflow-controller-configmap
kubectl delete -n kube-system deploy workflow-controller argo-ui
kubectl delete -n kube-system sa argo argo-ui
kubectl delete -n kube-system svc argo-ui
Last updated on by Vincent Emonet