Search code examples
kubernetesargoproj

Can argo be used without cluster-admin role?


We are users of a distributed multi-institution cluster who want to use Argo to facilitate workflows. We have a namespace in that cluster under which we create our jobs, which we currently do through kubectl. We do not have cluster-admin role, as the cluster is not even owned by our institution.

Is there a way we can use Argo workflows under our own namespace without cluster-admin?

If the answer is no, is there a way that the cluster admins can install Argo such that each namespace (namespaces = different institutions) don't have dependencies/conflicts with each other?

The getting started guide doesn't seem to mention this. I just see a cluster-admin assumption and that makes me think Argo isn't suited for our use case. But it's best to ask.

kubectl create clusterrolebinding YOURNAME-cluster-admin-binding --clusterrole=cluster-admin [email protected]

Solution

  • Argo has two ways of installing, one with cluster-admin privileges and one with namespace-level privileges.

    Checkout the install guide here and the docs.

    If you can create Roles and RoleBindings in the namespace where you want to deploy Argo you should be fine, but you will be limited to that namespace.

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