Event Endpoint Management deployment

Event Endpoint Management provides the capability to describe and catalog the APIs of Kafka event sources, and to socialize those APIs with application developers.

Before you begin

This version of Cloud Pak for Integration includes Event Endpoint Management version 10.0.3.0-ifix1, which is installed and managed by the API Connect Operator 2.3.1 on operator channel v2.3.

  • Ensure you have Cloud Pak for Integration installed.

  • Review the required cluster-scoped permissions for API Connect.

  • Load the catalog sources as explained in Adding online catalog sources to a cluster.

  • Ensure you have the IBM API Connect operator installed. Event Endpoint Management is configured through the EventEndpointManager custom resource type. When you install the operator, you can choose whether to install it to all namespaces in the cluster, or to a single namespace. Event Endpoint Management deploys one instance of each subsystem into a particular namespace. If you want to deploy additional instances of Event Endpoint Management or API Connect, you must deploy them into different namespaces.

    • All namespaces in the cluster (default): If selected, the operator can manage instances of Event Endpoint Management in any namespace. The operator is deployed into the system namespace openshift-operators. In this case, you can specify the namespace to install the instance into as described later (see the Namespace field).

    • A specific namespace on the cluster: If selected, the operator can only manage instances of Event Endpoint Management in the same namespace. The operator is deployed into the specified namespace. In this case, you do not specify a namespace later.

  • If you are using the IBM Entitled Registry, a pull secret must exist in the namespace containing an entitlement key. See IBM Entitled Registry entitlement keys.

  • Event Endpoint Management uses the default restricted Security Context Constraint (SCC) that comes with the OpenShift Container Platform.

  • You can deploy a standalone Event Gateway Service outside the Cloud Pak for Integration cluster to place the gateway closer to your Kafka cluster if required. If you deploy a standalone gateway service, you can configure the Event Endpoint Management installation to not deploy a gateway as described later.

Note: You can also enable event endpoints as part of deploying the API management capability, and have both API and event endpoints enabled in the same instance.

To enable both API and Event endpoints, you can install API management.

Installing an instance of Event Endpoint Management

You can create an instance of Event Endpoint Management as part of Cloud Pak for Integration by using the Platform Navigator or the command line.

Installing by using the Platform Navigator

Note: Install an instance of the Event Endpoint Management capability in a single namespace. If you want to deploy additional instances of Event Endpoint Management or API Connect, you must deploy them into different namespaces.

  1. Log in to the IBM Cloud Pak for Integration Platform Navigator as a Cluster Administrator. Use the authentication method and credentials set by your administrator.

  2. Click the Navigation Menu Navigation Menu in the top left.

  3. Expand Administration and click Integration capabilities.

  4. Click Create capability.

  5. Select the Event endpoint management tile and click Next.

  6. Select a deployment type and click Next:

    • Select Event Endpoints - One Node - Minimum for a starter deployment intended for development and testing purposes. It is not suitable for production environments. Installs one node of the management, Event Gateway Service, and portal subsystems.

    • Select Event Endpoints - Three Node - Production for a production deployment. In addition to an Event Gateway Service, it includes multiple nodes of the management and portal subsystems to improve capacity and availability.

  7. Fill in the fields as follows. By using the UI form view, update the following fields:

    • Name: Add a name for your Event Endpoint Management instance.

    • Namespace: Select the namespace where this instance will be created.

      Note: This field only displays if you selected All namespaces in the cluster (default) when you installed the operator. If the API Connect operator was installed for a single namespace, this field will not be displayed. It is only applicable when the operator is installed for all namespaces, which means you have to select the namespace where you want to create the instance. You can only deploy one instance of Event Endpoint Management or API Connect in a single namespace.

    • License acceptance: To install the instance, you must accept the license agreement.

    • License use: Select production or nonproduction to match the license that you purchased. Default is nonproduction.

    • License metric: Leave blank for default value VIRTUAL_PROCESSOR_CORE.

    • License ID: Select the license ID for the Event Endpoint Management program that you purchased.

      • Select L-RJON-C2YLGB for program name "IBM API Connect Enterprise PVU".

      • Select L-RJON-C2YLBS for program name "IBM API Connect Enterprise Monthly Subscription".

    • Deployment profile: Select the type of API Connect installation profile you want. Default is n1xc10.m48, which corresponds to Event Endpoints - One Node - Minimum.

      • Development profile is n1xc10.m48, which deploys 1 replica of each pod, so this profile is most suitable for a small, non-HA system. Recommended use of this profile is for development and testing.

      • Production profile is n3xc14.m48, which deploys 3 or more replicas of each pod, so this profile is most suitable for larger systems and for production environments. This profile is supported for installation on a cluster with three or more nodes. It is not supported on a cluster with fewer than three nodes.

    • Product version: Select the product version or channel to be installed in the system. This is the API Connect application version for the subsystems. Use 10.0.3.0-ifix1 for Event Endpoint Management.

    • Storage class: Specify the RWO block storage class to use for persistence storage. This will be used when creating a PVC. Specification of the storage class is highly recommended. If not specified, the default cluster storage class for API Connect is used.

      See storage requirements for more information about storage considerations.

      Note: You can define different storage settings for each subsystem in the YAML tab, as described later. For example, you can set up different storage for the API Manager and the Developer Portal.

    • Supported endpoint types: Only available when you click Advanced settings. Events is selected by default to manage event streaming sources that use Kafka. You can also select APIs if you want to manage interfaces such as REST APIs and GraphQL with the same instance.

      Note: You can also have both API and event endpoints enabled in the same instance if you install API management.

    Alternatively, you can also configure the instance by using the the YAML editor in the YAML tab.

    Note: For more samples to use, see section for Event Endpoint Management in templates for creating instances of capabilities.

    Non-production sample:

    apiVersion: eventendpointmanager.apiconnect.ibm.com/v1beta1
    kind: EventEndpointManager
    metadata:
      name: eventendpointmanager-minimum
      namespace: eventapis
      labels: {
        app.kubernetes.io/instance: "eventendpointmanager-minimum",
        app.kubernetes.io/managed-by: "ibm-apiconnect",
        app.kubernetes.io/name: "eventendpointmanager-minimum"
      }
    spec:
      endpointTypes:
        - Events
      license:
        accept: false
        license: L-RJON-BZEP9N
        metric: VIRTUAL_PROCESSOR_CORE
        use: nonproduction
      profile: "n1xc10.m48"
      storageClassName: ""
      version: "10.0.3.0-ifix1"

    Production sample:

    apiVersion: eventendpointmanager.apiconnect.ibm.com/v1beta1
    kind: EventEndpointManager
    metadata:
      name: eventendpointmanager-production
      namespace: eventapis
      labels: {
        app.kubernetes.io/instance: "eventendpointmanager-production",
        app.kubernetes.io/managed-by: "ibm-apiconnect",
        app.kubernetes.io/name: "eventendpointmanager-production"
      }
    spec:
      endpointTypes:
        - Events
      license:
        accept: false
        license: L-RJON-BZEP9N
        metric: VIRTUAL_PROCESSOR_CORE
        use: production
      profile: "n3xc14.m48"
      storageClassName: ""
      version: "10.0.3.0-ifix1"

    Note: You can override specific services as required. For example, to define the storage class and specify the size of PersistentVolumeClaims (PVCs) for API Manager and the Developer Portal separately, you could add the following to the EventEndpointManager custom resource under spec:

       management:
         databaseVolumeClaimTemplate:
           storageClassName: rook-ceph-block
           volumeSize: 20Gi
       portal:
         adminVolumeClaimTemplate:
           storageClassName: ibmc-block-gold
           volumeSize: 10Gi
  8. Optional: If you want to deploy a standalone Event Gateway Service and not deploy a gateway as part of the Event Endpoint Management installation in the Cloud Pak for Integration cluster, edit the EventEndpointManager custom resource and add the following to spec.disabledServices:

    disabledServices:
     - event-gateway

    For example:

    spec:
      license:
        accept: false
        license: L-RJON-C2YLGB
        metric: VIRTUAL_PROCESSOR_CORE
        use: nonproduction
      endpointTypes:
        - Events
      disabledServices:
        - event-gateway
  9. Click Create.

  10. After the installation completes, check the status of your release and verify that your instance deployed successfully.

Installing by using the command line

You can also use the EventEndpointManager custom resource to install the Event Endpoint Management capability by using the command line.

  1. Ensure you have a YAML file saved locally with the custom resource configuration (see the YAML editor examples earlier).

  2. Log in to your OpenShift Container Platform as a cluster administrator by using oc login.

  3. Set the project (namespace) to where you will install the instance by using oc project <namespace>

  4. Apply the EventEndpointManager custom resource to create an Event Endpoint Management instance:

    oc apply -f <custom-resource-file-path>

    For example:

    oc apply -f eventapi.yaml

Verifying your installation

To verify that your installation completed successfully, you can check the status of your instance through the OpenShift Container Platform web console or command line.

By using the web console

  1. Log in to the OpenShift Container Platform web console using your login credentials.

  2. Expand the Operators dropdown and select Installed Operators to open the Installed Operators page.

  3. Expand the Project dropdown and select the project the instance is installed in (this is the namespace you set earlier). Click the operator called IBM API Connect managing the project.

  4. Select the Event Endpoint Management tab and search the Name column for the installed instance and click it.

  5. The Phase field in the EventEndpointManager custom resource will display the current state of the Event Endpoint Management instance. When the Event Endpoint Management instance is ready, the phase will display Ready, meaning the deployment has completed.

By using the command line

After all the components of an Event Endpoint Management instance are active and ready, the EventEndpointManager custom resource for the Event Endpoint Management instance will have a Ready phase in the status. To verify the status:

  1. Log in to your OpenShift Container Platform as a cluster administrator by using oc login.

  2. Run the oc get command as follows: oc get eventendpointmanager <cr_name> -ojsonpath={.status.phase}

For example, the installation of the instance called development is complete when the STATUS returned by the oc get command displays Ready:

$ oc get eventendpointmanager development -ojsonpath={.status.phase}
>
NAME             STATUS
development      Ready

Configuring your instance

After successfully installing your instance and verifying that it is ready, complete the following basic configuration for your instance:

  1. Click the Navigation Menu Navigation Menu in the top left.

  2. Expand Administration and click Integration capabilities.

  3. Click the link for your instance in the Name column (has Event endpoint management administration in the Type column).

  4. Log in to Cloud Manager with the Common Services user registry. Use the same username and password that you used for logging in to the Platform Navigator.

Complete the following configuration tasks to set up your instance: