Installing Event Gateways on the same cluster

If you want to install the Event Gateway on the same cluster as the Event Endpoint Management Manager, use the Event Endpoint Management operator to install instances by applying the EventGateway custom resource type.

Instances of the Event Gateway can be created after the Event Endpoint Management operator and the Event Endpoint Management instance is installed.

  • If the operator was installed into a specific namespace, then it can only be used to manage instances of Event Gateway in that namespace.
  • If the operator was installed for all namespaces, then it can be used to manage instances of Event Gateway in any namespace, including those created after the operator was deployed.

When installing an instance of the Event Gateway, ensure you are using a namespace that an operator is managing.

Note: When running on Kubernetes platforms other than OpenShift Container Platform, “all namespaces” refers to an installation where watchAnyNamespace=true was set during the Helm installation.

Installing an Event Gateway instance by using the OpenShift Container Platform web console

To install an Event Gateway instance through the OpenShift Container Platform web console, do the following:

  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. Click the operator called IBM Event Endpoint Management.

    Note: If the operator is not shown, it is either not installed or not available for the selected namespace.

  4. In the Operator Details dashboard, click the Event Gateway tab.
  5. Click the Create EventGateway button to open the Create EventGateway panel. You can use this panel to define an EventGateway custom resource.

From here you can install by using the YAML view or the form view. For advanced configurations or to install one of the samples, see installing by using the YAML view.

Refer to the configuring section to find out more information about the available options in the Custom Resource definition.

Installing an Event Gateway instance by using the YAML view

You can configure the EventGateway custom resource by editing YAML documents. To do this, select YAML view.

A number of sample configurations are provided on which you can base your deployment. These range from quick start deployments for non-production development to large scale clusters ready to handle a production workload. Alternatively, a pre-configured YAML file containing the custom resource sample can be dragged and dropped onto this screen to apply the configuration.

To view the samples, complete the following steps:

  1. Click the Samples tab to view the available sample configurations.
  2. Click the Try it link under any of the samples to open the configuration in the Create EventGateway panel.

More information about these samples is available in the planning section. You can base your deployment on the sample that most closely reflects your requirements and apply customizations as required.

Note: If experimenting with Event Endpoint Management for the first time, the Quick start sample is the smallest and simplest example that can be used to create an experimental deployment. For a production setup, use the Production sample configuration.

When modifying the sample configuration, the updated document can be exported from the Create EventGateway panel by clicking the Download button and re-imported by dragging the resulting file back into the window. You can also directly edit the custom resource YAML by clicking on the editor.

When modifying the sample configuration, ensure the following fields are updated based on your requirements:

  • spec.license.accept field in the custom resource YAML is set to true and that the correct values are selected for spec.license.use, spec.license.license, and spec.license.metric fields.
  • spec.ManagerEndpoint is set to the gateway API endpoint URI of an Event Endpoint Management Manager (EventEndpointManagement) instance. The gateway API endpoint will contain ibm-eem-gateway in the URL.
  • spec.tls.caSecretName field is updated with the name of a secret that contains the root CA certificate.

    Important: The caSecretName of an Event Gateway instance must be the same as the caSecretName of the Event Endpoint Management instance you referred to when setting the endpoint URI in spec.ManagerEndpoint. If you are using the operator-provided certificate, enter the value as <my-instance>-ibm-eem-manager-ca.

  • spec.gatewayGroupName field is updated with the name of a Gateway group to which this Gateway should be added.
  • spec.gatewayID field is updated with the ID of a Gateway group to which this Gateway should be added.

To deploy an Event Gateway instance, use the following steps:

  1. Complete any changes to the sample configuration in the Create EventGateway panel.
  2. Click Create to begin the installation process.
  3. Wait for the installation to complete.
  4. You can now verify your installation and consider other post-installation tasks.

Installing an Event Gateway instance by using the form view

Alternatively, you can configure an EventGateway custom resource using the interactive form. You can load samples into the form and then edit as required.

To view a sample in the form view, complete the following steps:

  1. Select YAML view in the Configure via section.
  2. Click Samples to view the available sample configurations.
  3. Click Try it under any of the samples.
  4. Select Form view in the Configure via section to switch back to the form view with the data from the sample populated.
  5. Edit as required.

Note: If experimenting with Event Endpoint Management for the first time, the Quick start sample is the smallest and simplest example that can be used to create an experimental deployment. For a production setup, use the Production sample configuration.

To configure an EventGateway custom resource, complete the following steps:

  1. Enter a name for the instance in the Name field.
  2. In License > License Acceptance, select the accept checkbox and ensure that the correct values for License, Metric, and Use are entered.
  3. In gatewayGroupName, enter the name of a Gateway group to which this Gateway must be added. See configuring on how to retrieve the details of Gateway groups.
  4. In gatewayID, enter the ID of a Gateway group to which this Gateway must be added. See configuring on how to retrieve the details of Gateway groups.
  5. In eemManager > endpoint, enter the gateway API endpoint URI of Event Endpoint Management Manager instance. See configuring on how to retrieve the gateway API endpoint URI of manager instance.
  6. In tls > caSecretName, enter the name of the secret that contains the root CA certificate.

    Optional: You can also configure other TLS specifications such as details of the secrets, keys, and certificates.

    Important: The caSecretName of an Event Gateway instance must be the same as the caSecretName of the Event Endpoint Management instance you referred to when setting the endpoint URI in eemManager > endpoint. If you are using the operator-provided certificate, enter the value as <my-instance>-ibm-eem-manager-ca.

  7. If you have any trusted certificates, you can add them in eemManager > tls > trustedCertificates.
  8. Scroll down and click the Create button to deploy the Event Gateway instance.
  9. Wait for the installation to complete.
  10. You can now verify your installation and consider other post-installation tasks.

Installing an Event Gateway instance by using the CLI (kubectl)

To install an instance of Event Gateway from the command-line (kubectl), you must first prepare an EventGateway custom resource configuration in a YAML file.

A number of sample configuration files are available in GitHub where you can select the GitHub tag for your Event Endpoint Management version, and then go to /cr-examples/eventgateway to access the samples relevant for your Kubernetes platform. These range from quick start deployments for non-production development to large scale clusters ready to handle a production workload.

More information about these samples is available in the planning section. You can base your deployment on the sample that most closely reflects your requirements and apply customizations as required.

Note: If experimenting with Event Gateway for the first time, the Quick start sample is the smallest and simplest example that can be used to create an experimental deployment. For a production setup, use the Production sample configuration.

When modifying the sample configuration, ensure the following fields are updated based on your requirements:

  • spec.license.accept field in the custom resource YAML is set to true and that the correct values are selected for spec.license.use, spec.license.license, and spec.license.metric fields.
  • spec.ManagerEndpoint is set to the gateway API endpoint URI of Event Endpoint Management Manager (EventEndpointManagement) instance.
  • spec.tls.caSecretName field is updated with the name of a secret that contains the root CA certificate.

    Important: The caSecretName of an Event Gateway instance must be the same as the caSecretName of the Event Endpoint Management instance you referred to when setting the endpoint URI in spec.ManagerEndpoint. If you are using the operator-provided certificate, enter the value as <my-instance>-ibm-eem-manager-ca.

  • spec.gatewayGroupName field is updated with the name of a Gateway group to which this Gateway should be added.
  • spec.gatewayID field is updated with the ID of a Gateway group to which this Gateway should be added.

On Kubernetes platforms other than the OpenShift Container Platform, ensure you set the following additional fields:

  • spec.endpoints[] must contain an endpoint with:
    • name set to gateway
    • host set to a DNS resolvable hostname for accessing the service.

To deploy an Event Gateway instance, run the following commands:

  1. Apply the configured EventGateway custom resource to your target namespace:

    kubectl apply -f <custom-resource-file-path> -n <target-namespace>
    

    For example:

    kubectl apply -f production.yaml -n my-namespace
    
  2. Wait for the installation to complete.
  3. You can now verify your installation and consider other post-installation tasks.