×

After you install the OpenShift Serverless Operator, you can install Knative Eventing by following the procedures described in this guide.

Knative Eventing is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

For more information about the support scope of Red Hat Technology Preview features, see https://access.redhat.com/support/offerings/techpreview/.

This guide provides information about installing Knative Eventing using the default settings.

Creating the knative-eventing namespace

When you create the knative-eventing namespace, a knative-eventing project will also be created.

You must complete this procedure before installing Knative Eventing.

If the KnativeEventing object created during Knative Eventing’s installation is not created in the knative-eventing namespace, it will be ignored.

Prerequisites
  • An OpenShift Container Platform account with cluster administrator access

  • Installed OpenShift Serverless Operator

Creating the knative-eventing namespace using the web console

Procedure
  1. In the OpenShift Container Platform web console, navigate to AdministrationNamespaces.

  2. Click Create Namespace.

    Namespaces page
  3. Enter knative-eventing as the Name for the project. The other fields are optional.

    Creating the `knative-eventing` namespace
  4. Click Create.

Creating the knative-eventing namespace using the CLI

Procedure
  1. Create the knative-eventing namespace by entering:

    $ oc create namespace knative-eventing

Prerequisites

  • An OpenShift Container Platform account with cluster administrator access

  • Installed OpenShift Serverless Operator

  • Created the knative-eventing namespace

Installing Knative Eventing using the web console

Procedure
  1. In the Administrator perspective of the OpenShift Container Platform web console, navigate to OperatorsInstalled Operators.

  2. Check that the Project dropdown at the top of the page is set to Project: knative-eventing.

  3. Click Knative Eventing in the list of Provided APIs for the OpenShift Serverless Operator to go to the Knative Eventing tab.

    Installed Operators page
  4. Click the Create Knative Eventing button.

    Knative Eventing tab
  5. In the Create Knative Eventing page, you can choose to configure the KnativeEventing object by using either the default form provided, or by editing the YAML.

    • Using the form is recommended for simpler configurations that do not require full control of KnativeEventing object creation.

      Optional. If you are configuring the KnativeEventing object using the form, make any changes that you want to implement for your Knative Eventing deployment.

  6. Click Create.

    Create Knative Eventing using the form
    • Editing the YAML is recommended for more complex configurations that require full control of KnativeEventing object creation. You can access the YAML by clicking the edit YAML link in the top right of the Create Knative Eventing page.

      Optional. If you are configuring the KnativeEventing object by editing the YAML, make any changes to the YAML that you want to implement for your Knative Eventing deployment.

  7. Click Create.

    Create Knative Eventing using YAML
  8. After you have installed Knative Eventing, the KnativeEventing object is created, and you will be automically directed to the Knative Eventing tab.

    Installed Operators page

    You will see knative-eventing in the list of resources.

Verification
  1. Click on knative-eventing in the Knative Eventing tab.

  2. You will be automatically directed to the Knative Eventing Overview page.

    Knative Eventing Overview page
  3. Scroll down to look at the list of Conditions.

  4. You should see a list of conditions with a status of True, as shown in the example image.

    Conditions

    It may take a few seconds for the Knative Eventing resources to be created. You can check their status in the Resources tab.

  5. If the conditions have a status of Unknown or False, wait a few moments and then check again after you have confirmed that the resources have been created.

Installing Knative Eventing using YAML

Procedure
  1. Create a file named eventing.yaml.

  2. Copy the following sample YAML into eventing.yaml:

    apiVersion: operator.knative.dev/v1alpha1
    kind: KnativeEventing
    metadata:
        name: knative-eventing
        namespace: knative-eventing
  3. Optional. Make any changes to the YAML that you want to implement for your Knative Eventing deployment.

  4. Apply the eventing.yaml file by entering:

    $ oc apply -f eventing.yaml
Verification
  1. To verify the installation is complete, enter:

    $ oc get knativeeventing.operator.knative.dev/knative-eventing \
      -n knative-eventing \
      --template='{{range .status.conditions}}{{printf "%s=%s\n" .type .status}}{{end}}'

    The output should be similar to:

    InstallSucceeded=True
    Ready=True

    It may take a few seconds for the Knative Eventing resources to be created.

  2. If the conditions have a status of Unknown or False, wait a few moments and then check again after you have confirmed that the resources have been created.

  3. Check that the Knative Eventing resources have been created by entering:

    $ oc get pods -n knative-eventing

    The output should look similar to:

    NAME                                   READY   STATUS    RESTARTS   AGE
    broker-controller-58765d9d49-g9zp6     1/1     Running   0          7m21s
    eventing-controller-65fdd66b54-jw7bh   1/1     Running   0          7m31s
    eventing-webhook-57fd74b5bd-kvhlz      1/1     Running   0          7m31s
    imc-controller-5b75d458fc-ptvm2        1/1     Running   0          7m19s
    imc-dispatcher-64f6d5fccb-kkc4c        1/1     Running   0          7m18s

Next steps

  • Install the Knative CLI to use kn commands with Knative Eventing. For example, kn source commands. See the documentation on Installing the Knative CLI (kn).