Skip to content

Instantly share code, notes, and snippets.

@lorenzogirardi
Created December 10, 2020 10:30
Show Gist options
  • Save lorenzogirardi/0cfbd7d6f76d9ca21518c1b447518cbc to your computer and use it in GitHub Desktop.
Save lorenzogirardi/0cfbd7d6f76d9ca21518c1b447518cbc to your computer and use it in GitHub Desktop.

Argo

I chose this product because i was interested to have something similar to Rundeck , but with more extended capability in order to be possible build a ci/cd without spinnaker
https://argoproj.github.io/

The installation is quite easy , i've just trick a configmap due to volume mount problem genereted by my small kubernetes installation

For a basic installation you need to create a dedicated namespace
kubectl create namespace argo

and than deploy the argo infrastructure (server and workflow)
kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo/stable/manifests/install.yaml

NAMESPACE      NAME                                       READY   STATUS      RESTARTS   AGE
argo           argo-server-6c886c5b77-l8jfv               1/1     Running     1          2d13h
argo           workflow-controller-65948977d-zc9vt        1/1     Running     0          2d14h

As mentioned before i discover a bug (just because i use containerd instead docker in microk8s) , running the firt job
MountVolume.SetUp failed for volume "docker-lib" : hostPath type check failed: /var/lib/docker is not a directory
However adding

data:
  config: |
    containerRuntimeExecutor: pns

in workflow-controller-configmap

i fixed the issue.



Well now Argo is running and you can interact with the web UI or creating a services and a ingress configuration or with the port forwarding.
Since i'm now experimenting the solution i'm just using the second option.

$ kubectl -n argo port-forward deployment/argo-server 2746:2746
Forwarding from 127.0.0.1:2746 -> 2746
Forwarding from [::1]:2746 -> 2746

The UI interface is pretty clean and the authentication model follow the RBAC policy

argo_4

The editor as well is really good and if i have to think about a solution to share to other teams/depts , this has a good level of abstraction (at least you need to know what is contab)

argo_1

All informations are shared with the most relevant needs
argo_3

Events could be retrieved and evaluated as well
argo_6

Last but not least .... logs are in the UI argo_5



Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment