Deploy Argo
Deploy Argo Controller
Argo run in its own namespace and deploys as a CustomResourceDefinition.
Deploy the Controller and UI.
kubectl create namespace argo
kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo-workflows/${ARGO_VERSION}/manifests/install.yaml
In order for Argo to support features such as artifacts, outputs, access to secrets, etc. it needs to communicate with Kubernetes resources using the Kubernetes API. To communicate with the Kubernetes API, Argo uses a ServiceAccount
to authenticate itself to the Kubernetes API. You can specify which Role
(i.e. which permissions) the ServiceAccount that Argo uses by binding a Role
to a ServiceAccount
using a RoleBinding
kubectl -n argo create rolebinding default-admin --clusterrole=admin --serviceaccount=argo:default
Note that this will grant admin privileges to the default ServiceAccount in the namespace that the command is run from, so you will only be able to run Workflows in the namespace where the RoleBinding was made.