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).