diff --git a/docs/admin/install/eventing/install-eventing-with-yaml.md b/docs/admin/install/eventing/install-eventing-with-yaml.md index d108875da..830a60918 100644 --- a/docs/admin/install/eventing/install-eventing-with-yaml.md +++ b/docs/admin/install/eventing/install-eventing-with-yaml.md @@ -4,17 +4,17 @@ This topic describes how to install Knative Eventing by applying YAML files usin --8<-- "prerequisites.md" -## Install the Eventing component +## Install Knative Eventing -To install the Eventing component: +To install Knative Eventing: -1. Install the required custom resource definitions (CRDs): +1. Install the required custom resource definitions (CRDs) by running the command: ```bash kubectl apply -f {{ artifact(repo="eventing",file="eventing-crds.yaml")}} ``` -1. Install the core components of Eventing: +1. Install the core components of Eventing by running the command: ```bash kubectl apply -f {{ artifact(repo="eventing",file="eventing-core.yaml")}} @@ -32,19 +32,18 @@ To install the Eventing component: ``` -## Optional: Install a default channel (messaging) layer +## Optional: Install a default Channel (messaging) layer -The tabs below expand to show instructions for installing a default channel layer. -Follow the procedure for the channel of your choice: +The tabs below expand to show instructions for installing a default Channel layer. +Follow the procedure for the Channel of your choice: === "Apache Kafka Channel" - 1. First, - [Install Apache Kafka for Kubernetes](../../../eventing/samples/kafka/README.md) + 1. [Install Apache Kafka for Kubernetes](../../../eventing/samples/kafka/README.md). - 1. Then install the Apache Kafka Channel: + 1. Install the Apache Kafka Channel by running the command: ```bash curl -L "{{ artifact(org="knative-sandbox",repo="eventing-kafka",file="channel-consolidated.yaml")}}" \ @@ -53,36 +52,38 @@ Follow the procedure for the channel of your choice: ``` !!! tip - To learn more, try the [Apache Kafka channel sample](../../../eventing/samples/kafka/channel/README.md). + To learn more, try the [Apache Kafka Channel sample](../../../eventing/samples/kafka/channel/README.md). === "Google Cloud Pub/Sub Channel" - 1. Install the Google Cloud Pub/Sub channel: + * Install the Google Cloud Pub/Sub Channel by running the command: ```bash - # This installs both the Channel and the GCP Sources. kubectl apply -f {{ artifact(org="google",repo="knative-gcp",file="cloud-run-events.yaml")}} ``` + This command installs both the Channel and the GCP Sources. + !!! tip To learn more, try the [Google Cloud Pub/Sub channel sample](https://github.com/google/knative-gcp/blob/master/docs/examples/channel/README.md). === "In-Memory (standalone)" - The following command installs an implementation of channel that runs in-memory. - This implementation is nice because it is simple and standalone, but it is unsuitable for production use cases. + !!! warning + This simple standalone implementation runs in-memory and is not suitable for production use cases. - ```bash - kubectl apply -f {{ artifact(repo="eventing",file="in-memory-channel.yaml")}} - ``` + * Install an in-memory implementation of Channel by running the command: + + ```bash + kubectl apply -f {{ artifact(repo="eventing",file="in-memory-channel.yaml")}} + ``` === "NATS Channel" - 1. First, [Install NATS Streaming for - Kubernetes](https://github.com/knative-sandbox/eventing-natss/tree/main/config) + 1. [Install NATS Streaming for Kubernetes](https://github.com/knative-sandbox/eventing-natss/tree/main/config). - 1. Then install the NATS Streaming channel: + 1. Install the NATS Streaming Channel by running the command: ```bash kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-natss",file="300-natss-channel.yaml")}} @@ -90,106 +91,109 @@ Follow the procedure for the channel of your choice: -## Optional: Install a broker layer: +## Optional: Install a Broker layer: -The tabs below expand to show instructions for installing the broker layer. -Follow the procedure for the broker of your choice: +The tabs below expand to show instructions for installing the Broker layer. +Follow the procedure for the Broker of your choice: === "Apache Kafka Broker" - The following commands install the Apache Kafka broker, and run event routing in a system namespace, - `knative-eventing`, by default. + The following commands install the Apache Kafka Broker and run event routing in a system + namespace. The `knative-eventing` namespace is used by default. - 1. Install the Kafka controller by entering the following command: + 1. Install the Kafka controller by running the following command: ```bash kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-kafka-broker",file="eventing-kafka-controller.yaml")}} ``` - 1. Install the Kafka broker data plane by entering the following command: + 1. Install the Kafka Broker data plane by running the following command: ```bash kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-kafka-broker",file="eventing-kafka-broker.yaml")}} ``` - For more information, see the [Kafka broker](../../../eventing/broker/kafka-broker/README.md) documentation. + For more information, see the [Kafka Broker](../../../eventing/broker/kafka-broker/README.md) documentation. === "MT-Channel-based" - The following command installs an implementation of broker that utilizes - channels and runs event routing components in a System Namespace, providing a smaller and simpler installation. + This implementation of Broker uses Channels and runs event routing components in a system + namespace, providing a smaller and simpler installation. - ```bash - kubectl apply -f {{ artifact(repo="eventing",file="mt-channel-broker.yaml")}} - ``` + * Install this implementation of Broker by running the command: - To customize which broker channel implementation is used, update the following ConfigMap to specify which configurations are used for which namespaces: + ```bash + kubectl apply -f {{ artifact(repo="eventing",file="mt-channel-broker.yaml")}} + ``` - ```yaml - apiVersion: v1 - kind: ConfigMap - metadata: - name: config-br-defaults - namespace: knative-eventing - data: - default-br-config: | - # This is the cluster-wide default broker channel. - clusterDefault: - brokerClass: MTChannelBasedBroker - apiVersion: v1 - kind: ConfigMap + To customize which Broker Channel implementation is used, update the following ConfigMap to + specify which configurations are used for which namespaces: + + ```yaml + apiVersion: v1 + kind: ConfigMap + metadata: + name: config-br-defaults + namespace: knative-eventing + data: + default-br-config: | + # This is the cluster-wide default broker channel. + clusterDefault: + brokerClass: MTChannelBasedBroker + apiVersion: v1 + kind: ConfigMap + name: imc-channel + namespace: knative-eventing + # This allows you to specify different defaults per-namespace, + # in this case the "some-namespace" namespace will use the Kafka + # channel ConfigMap by default (only for example, you will need + # to install kafka also to make use of this). + namespaceDefaults: + some-namespace: + brokerClass: MTChannelBasedBroker + apiVersion: v1 + kind: ConfigMap + name: kafka-channel + namespace: knative-eventing + ``` + + The referenced `imc-channel` and `kafka-channel` example ConfigMaps would look like: + + ```yaml + apiVersion: v1 + kind: ConfigMap + metadata: name: imc-channel namespace: knative-eventing - # This allows you to specify different defaults per-namespace, - # in this case the "some-namespace" namespace will use the Kafka - # channel ConfigMap by default (only for example, you will need - # to install kafka also to make use of this). - namespaceDefaults: - some-namespace: - brokerClass: MTChannelBasedBroker - apiVersion: v1 - kind: ConfigMap - name: kafka-channel - namespace: knative-eventing - ``` - - The referenced `imc-channel` and `kafka-channel` example ConfigMaps would look like: - - ```yaml - apiVersion: v1 - kind: ConfigMap - metadata: - name: imc-channel - namespace: knative-eventing - data: - channelTemplateSpec: | - apiVersion: messaging.knative.dev/v1 - kind: InMemoryChannel - --- - apiVersion: v1 - kind: ConfigMap - metadata: - name: kafka-channel - namespace: knative-eventing - data: - channelTemplateSpec: | - apiVersion: messaging.knative.dev/v1alpha1 - kind: KafkaChannel - spec: - numPartitions: 3 - replicationFactor: 1 - ``` + data: + channelTemplateSpec: | + apiVersion: messaging.knative.dev/v1 + kind: InMemoryChannel + --- + apiVersion: v1 + kind: ConfigMap + metadata: + name: kafka-channel + namespace: knative-eventing + data: + channelTemplateSpec: | + apiVersion: messaging.knative.dev/v1alpha1 + kind: KafkaChannel + spec: + numPartitions: 3 + replicationFactor: 1 + ``` !!! warning - In order to use the KafkaChannel make sure it is installed on the cluster as discussed above. + In order to use the KafkaChannel, ensure that it is installed on your cluster, as mentioned previously in this topic. === "RabbitMQ Broker" - You can install the RabbitMQ broker by following the instructions in the + * Install the RabbitMQ Broker by following the instructions in the [RabbitMQ Knative Eventing Broker README](https://github.com/knative-sandbox/eventing-rabbitmq/tree/main/broker). - For more information, see the [RabbitMQ broker](https://github.com/knative-sandbox/eventing-rabbitmq) in GitHub. + For more information, see the [RabbitMQ Broker](https://github.com/knative-sandbox/eventing-rabbitmq) in GitHub. ## Install optional Eventing extensions @@ -198,13 +202,13 @@ The tabs below expand to show instructions for installing each Eventing extensio === "Apache Kafka Sink" - 1. Install the Kafka controller: + 1. Install the Kafka controller by running the command: ```bash kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-kafka-broker",file="eventing-kafka-controller.yaml")}} ``` - 1. Install the Kafka Sink data plane: + 1. Install the Kafka Sink data plane by running the command: ```bash kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-kafka-broker",file="eventing-kafka-sink.yaml")}} @@ -216,71 +220,70 @@ The tabs below expand to show instructions for installing each Eventing extensio - The following command installs the Eventing Sugar Controller: + 1. Install the Eventing Sugar Controller by running the command: - ```bash - kubectl apply -f {{ artifact(repo="eventing",file="eventing-sugar-controller.yaml")}} - ``` + ```bash + kubectl apply -f {{ artifact(repo="eventing",file="eventing-sugar-controller.yaml")}} + ``` - The Knative Eventing Sugar Controller will react to special labels and - annotations and produce Eventing resources. For example: + The Knative Eventing Sugar Controller reacts to special labels and + annotations and produce Eventing resources. For example: - - When a Namespace is labeled with `eventing.knative.dev/injection=enabled`, the - controller will create a default broker in that namespace. - - When a Trigger is annotated with `eventing.knative.dev/injection=enabled`, the - controller will create a Broker named by that Trigger in the Trigger's - Namespace. + - When a namespace is labeled with `eventing.knative.dev/injection=enabled`, the + controller creates a default Broker in that namespace. + - When a Trigger is annotated with `eventing.knative.dev/injection=enabled`, the + controller creates a Broker named by that Trigger in the Trigger's namespace. - The following command enables the default Broker on a namespace (here - `default`): + 1. Enable the default Broker on a namespace (here `default`) by running the command: - ```bash - kubectl label namespace default eventing.knative.dev/injection=enabled - ``` + ```bash + kubectl label namespace eventing.knative.dev/injection=enabled + ``` + Where `` is the name of the namespace. -=== "Github Source" +=== "GitHub Source" - The following command installs the single-tenant Github source: + A single-tenant GitHub source creates one Knative service per GitHub source. - ```bash - kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-github",file="github.yaml")}} - ``` + A multi-tenant GitHub source only creates one Knative Service, which handles all GitHub sources in the + cluster. This source does not support logging or tracing configuration. - The single-tenant GitHub source creates one Knative service per GitHub source. + * To install a single-tenant GitHub source run the command: - The following command installs the multi-tenant GitHub source: + ```bash + kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-github",file="github.yaml")}} + ``` - ```bash - kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-github",file="mt-github.yaml")}} - ``` + * To install a multi-tenant GitHub source run the command: - The multi-tenant GitHub source creates only one Knative service handling all - GitHub sources in the cluster. This source does not support logging or tracing - configuration yet. + ```bash + kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-github",file="mt-github.yaml")}} + ``` - To learn more, try the [Github source sample](../../../eventing/samples/github-source/README.md) + To learn more, try the [GitHub source sample](../../../eventing/samples/github-source/README.md) === "Apache Kafka Source" - The following command installs the Apache Kafka Source: + * Install the Apache Kafka Source by running the command: - ```bash - kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-kafka",file="source.yaml")}} - ``` + ```bash + kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-kafka",file="source.yaml")}} + ``` To learn more, try the [Apache Kafka source sample](../../../developer/eventing/sources/kafka-source/README.md). === "GCP Sources" - The following command installs the GCP Sources: + * Install the GCP Sources by running the command: - ```bash - # This installs both the Sources and the Channel. - kubectl apply -f {{ artifact(org="google",repo="knative-gcp",file="cloud-run-events.yaml")}} - ``` + ```bash + kubectl apply -f {{ artifact(org="google",repo="knative-gcp",file="cloud-run-events.yaml")}} + ``` - To learn more, try the following: + This command installs both the Sources and the Channel. + + To learn more, try the following samples: - [Cloud Pub/Sub source sample](../../../eventing/samples/cloud-pubsub-source/README.md) - [Cloud Storage source sample](../../../eventing/samples/cloud-storage-source/README.md) @@ -290,20 +293,20 @@ The tabs below expand to show instructions for installing each Eventing extensio === "Apache CouchDB Source" - The following command installs the Apache CouchDB Source: + * Install the Apache CouchDB Source by running the command: - ```bash - kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-couchdb",file="couchdb.yaml")}} - ``` + ```bash + kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-couchdb",file="couchdb.yaml")}} + ``` To learn more, read the [Apache CouchDB source](https://github.com/knative-sandbox/eventing-couchdb/blob/main/source/README.md) documentation. === "VMware Sources and Bindings" - The following command installs the VMware Sources and Bindings: + * Install VMware Sources and Bindings by running the command: - ```bash - kubectl apply -f {{ artifact(org="vmware-tanzu",repo="sources-for-knative",file="release.yaml")}} - ``` + ```bash + kubectl apply -f {{ artifact(org="vmware-tanzu",repo="sources-for-knative",file="release.yaml")}} + ``` To learn more, try the [VMware sources and bindings samples](https://github.com/vmware-tanzu/sources-for-knative/tree/master/samples/README.md).