github.com/argoproj/argo-events@v1.9.1/docs/installation.md (about) 1 # Installation 2 3 ### Requirements 4 5 * Kubernetes cluster >=v1.11 6 * Installed the [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) command-line tool >v1.11.0 7 8 ### Using kubectl 9 10 #### Cluster-wide Installation 11 12 1. Create the namespace. 13 14 kubectl create namespace argo-events 15 16 2. Deploy Argo Events SA, ClusterRoles, and Controller for Sensor, EventBus, and EventSource. 17 18 kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-events/stable/manifests/install.yaml 19 # Install with a validating admission controller 20 kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-events/stable/manifests/install-validating-webhook.yaml 21 22 23 NOTE: 24 25 * On GKE, you may need to grant your account the ability to create new custom resource definitions and clusterroles 26 27 kubectl create clusterrolebinding YOURNAME-cluster-admin-binding --clusterrole=cluster-admin --user=YOUREMAIL@gmail.com 28 29 * On OpenShift: 30 - Make sure to grant `anyuid` scc to the service accounts. 31 32 oc adm policy add-scc-to-user anyuid system:serviceaccount:argo-events:argo-events-sa system:serviceaccount:argo-events:argo-events-webhook-sa 33 34 - Add update permissions for the `deployments/finalizers` and `clusterroles/finalizers` of the argo-events-webhook ClusterRole(this is necessary for the validating admission controller) 35 36 - apiGroups: 37 - rbac.authorization.k8s.io 38 resources: 39 - clusterroles/finalizers 40 verbs: 41 - update 42 - apiGroups: 43 - apps 44 resources: 45 - deployments/finalizers 46 verbs: 47 - update 48 49 3. Deploy the eventbus. 50 51 kubectl apply -n argo-events -f https://raw.githubusercontent.com/argoproj/argo-events/stable/examples/eventbus/native.yaml 52 53 #### Namespace Installation 54 55 1. Create the namespace. 56 57 kubectl create namespace argo-events 58 59 2. Deploy Argo Events SA, ClusterRoles, and Controller for Sensor, EventBus, and EventSource. 60 61 kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-events/stable/manifests/namespace-install.yaml 62 63 NOTE: 64 65 * On GKE, you may need to grant your account the ability to create new custom resource definitions 66 67 kubectl create clusterrolebinding YOURNAME-cluster-admin-binding --clusterrole=cluster-admin --user=YOUREMAIL@gmail.com 68 69 * On OpenShift: 70 - Make sure to grant `anyuid` scc to the service account. 71 72 oc adm policy add-scc-to-user anyuid system:serviceaccount:argo-events:default 73 74 - Add update permissions for the `deployments/finalizers` and `clusterroles/finalizers` of the argo-events-webhook ClusterRole(this is necessary for the validating admission controller) 75 76 - apiGroups: 77 - rbac.authorization.k8s.io 78 resources: 79 - clusterroles/finalizers 80 verbs: 81 - update 82 - apiGroups: 83 - apps 84 resources: 85 - deployments/finalizers 86 verbs: 87 - update 88 89 3. Deploy the eventbus. 90 91 kubectl apply -n argo-events -f https://raw.githubusercontent.com/argoproj/argo-events/stable/examples/eventbus/native.yaml 92 93 ### Using Kustomize 94 95 Use either [`cluster-install`](https://github.com/argoproj/argo-events/tree/stable/manifests/cluster-install), or [`cluster-install-with-extension`](https://github.com/argoproj/argo-events/tree/stable/manifests/cluster-install-with-extension), or [`namespace-install`](https://github.com/argoproj/argo-events/tree/stable/manifests/namespace-install) folder as your base for Kustomize. 96 97 `kustomization.yaml`: 98 99 bases: 100 - github.com/argoproj/argo-events/manifests/cluster-install 101 # OR 102 - github.com/argoproj/argo-events/manifests/namespace-install 103 104 ### Using Helm Chart 105 106 Make sure you have helm client installed. To install helm, follow <a href="https://docs.helm.sh/using_helm/">the link.</a> 107 108 1. Add `argoproj` repository. 109 110 helm repo add argo https://argoproj.github.io/argo-helm 111 112 1. The helm chart for argo-events is maintained solely by the community and hence the image version for controllers can go out of sync. 113 Update the image version in values.yaml to v1.0.0. 114 115 1. Install `argo-events` chart. 116 117 helm install argo-events argo/argo-events -n argo-events --create-namespace 118 119 1. Deploy the eventbus. 120 121 kubectl apply -n argo-events -f https://raw.githubusercontent.com/argoproj/argo-events/stable/examples/eventbus/native.yaml 122 123 ### Migrate to v1.0.0 124 125 If you are looking to migrate Argo Events <0.16.0 to v1.0.0, please read the [migration docs](https://github.com/argoproj/argo-events/wiki/Migration-path-for-v0.17.0).