Installing Knative Eventing using YAML files

    Before installation, you must meet the prerequisites. See Knative Prerequisites.

    Install the Eventing component

    To install the Eventing component:

    1. Install the required custom resource definitions (CRDs):

    2. Install the core components of Eventing:

      1. kubectl apply -f https://github.com/knative/eventing/releases/download/v0.22.0/eventing-core.yaml

    For information about the YAML files in the Knative Serving and Eventing releases, see Installation files.

    Monitor the Knative components until all of the components show a STATUS of Running:

    1. kubectl get pods --namespace knative-eventing

    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:

    1. First, Install Apache Kafka for Kubernetes

      1. curl -L "https://github.com/knative-sandbox/eventing-kafka/releases/download/v0.22.0/channel-consolidated.yaml" \
      2. | sed 's/REPLACE_WITH_CLUSTER_URL/my-cluster-kafka-bootstrap.kafka:9092/' \
      3. | kubectl apply -f -

    To learn more about the Apache Kafka channel, try

    1. Install the Google Cloud Pub/Sub channel:

    To learn more about the Google Cloud Pub/Sub channel, try our sample

    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.

    1. kubectl apply -f https://github.com/knative/eventing/releases/download/v0.22.0/in-memory-channel.yaml
    1. First,

    2. Then install the NATS Streaming channel:

      1. kubectl apply -f https://github.com/knative-sandbox/eventing-natss/releases/download/v0.22.0/300-natss-channel.yaml

    The tabs below expand to show instructions for installing the broker layer. Follow the procedure for the broker of your choice:

    The following commands install the Apache Kafka broker, and run event routing in a system namespace, knative-eventing, by default.

    1. Install the Kafka broker data plane by entering the following command:

    For more information, see the Kafka broker documentation.

    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.

    1. kubectl apply -f https://github.com/knative/eventing/releases/download/v0.22.0/mt-channel-broker.yaml

    To customize which broker channel implementation is used, update the following ConfigMap to specify which configurations are used for which namespaces:

    1. apiVersion: v1
    2. kind: ConfigMap
    3. metadata:
    4. name: config-br-defaults
    5. namespace: knative-eventing
    6. data:
    7. default-br-config: |
    8. # This is the cluster-wide default broker channel.
    9. brokerClass: MTChannelBasedBroker
    10. apiVersion: v1
    11. kind: ConfigMap
    12. name: imc-channel
    13. namespace: knative-eventing
    14. # This allows you to specify different defaults per-namespace,
    15. # in this case the "some-namespace" namespace will use the Kafka
    16. # channel ConfigMap by default (only for example, you will need
    17. # to install kafka also to make use of this).
    18. namespaceDefaults:
    19. some-namespace:
    20. brokerClass: MTChannelBasedBroker
    21. apiVersion: v1
    22. kind: ConfigMap
    23. namespace: knative-eventing

    The referenced imc-channel and kafka-channel example ConfigMaps would look like:

    1. apiVersion: v1
    2. kind: ConfigMap
    3. name: imc-channel
    4. namespace: knative-eventing
    5. data:
    6. channelTemplateSpec: |
    7. apiVersion: messaging.knative.dev/v1
    8. kind: InMemoryChannel
    9. ---
    10. apiVersion: v1
    11. kind: ConfigMap
    12. metadata:
    13. name: kafka-channel
    14. namespace: knative-eventing
    15. data:
    16. channelTemplateSpec: |
    17. apiVersion: messaging.knative.dev/v1alpha1
    18. kind: KafkaChannel
    19. spec:
    20. numPartitions: 3
    21. replicationFactor: 1

    NOTE: In order to use the KafkaChannel make sure it is installed on the cluster as discussed above.

    Next steps

    After installing Knative Eventing: