IBM Cloud Docs
Provisioning Event Streams for Satellite

Provisioning Event Streams for Satellite

Overview

Complete the steps to set up the IBM Cloud Satellite® plan for IBM® Event Streams for IBM Cloud® in a Satellite location.

The following steps guide you through provisioning a Satellite location in your account, configuring service authorization, adding compute hosts to the Satellite location, provisioning an Event Streams service instance, and configuring the block storage assignment, so that Event Streams can allocate block storage.

Provision a Satellite location

  1. Provision a Satellite location.

    1. Refer to Setting up Satellite locations. Complete the steps in Manually creating Satellite locations.

      IBM Cloud Satellite provides Quick Start templates to help with the provisioning of a Satellite location and initial set of host instances. However, the templates only provision one type (size) of host instance. Event Streams requires more than one type of host instance. The recommendation to use the manual steps to create your Satellite location lets you provide multiple types of host instances. Optionally, use the quick start template to create hosts for the Satellite location's control plane and part of the Event Streams requirement, then use the manual steps to add extra host types required by Event Streams.

    2. Event Streams supports Satellite locations that are managed by several different regions. Refer to the plan comparison table in Choosing your plan for the list of supported regions.

    3. As noted in the Manually creating Satellite locations information, the names of the zones that are specified in the Satellite location zone fields must exactly match the names of the corresponding zones in your infrastructure provider, where you plan to create hosts.

  2. Before you proceed to the next step, ensure that the following criteria are met:

    • The Satellite location must be provisioned and have a Normal state.
    • The Satellite location control plane service must be running and have a Normal state.

Grant service authorization

In order for the Event Streams service to access the Satellite service, a service-to-service authorization must be created.

  1. In the IBM Cloud® console account where your Satellite location was provisioned, from the Manage tab, select Access (IAM).

  2. Choose the Authorizations tab from the left menu.

  3. Click Create to create an authorization that allows a service instance access to another service instance.

    1. The source service is the service that is granted access to the target service. The roles that you select define the level of access for this service. The target service is the service that you grant permission to be accessed by the source service, based on the assigned roles.
    2. In the Source Service field, select Event Streams.
    3. Scope the access to All resources.
    4. In the Target Service field, select Satellite.
    5. Scope the access to All resources.
    6. Select all options:
      • Satellite Cluster Creator
      • Satellite Link Administrator
      • Satellite Link Source Access Controller
    7. Click Authorize.

Attach extra hosts to the Satellite location

Event Streams provides high availability by using multi-zone region deployment to protect against single points of failure. These extra hosts are used to create a service cluster into which Event Streams gets deployed. You must provision and balance the host compute infrastructure for the zones in your Satellite location.

Attach the following hosts to your Satellite location:

  • Event Streams requires hosts running Red Hat Enterprise Linux 8 (RHEL 8)
  • 6 hosts of 4 vCPU and 16 GiB memory
  • 3 hosts of 8 vCPU and 32 GiB memory

When Event Streams provisions, the provision process discovers the 4 vCPU and 8 vCPU hosts in the Satellite location and automatically assigns them to the Event Streams service instance. If 4 vCPU and 8 vCPU hosts are not available in the Satellite location, the Event Streams provision runs until the hosts are attached to the Satellite location. The Event Streams provision does not use other types of hosts in replacement of what is indicated precedingly.

The hosts requirement is for a single Event Streams Satellite instance. If multiple Event Streams Satellite instances are required, the hosts requirement applies to each Event Streams instance.

Provision Event Streams service instance

After preparing your Satellite location, granting service authorization, and attaching extra hosts, you can provision a Event Streams service instance:

  1. Go to the catalog, by clicking Catalog in the navigation bar.
  2. Look for the Event Streams tile in the Integration section and select it.
  3. In the Platform section of the Event Streams page, select the Satellite tile.
  4. In the Select a location field, select the Satellite location that you provisioned. When the Satellite tile was selected, the pricing plan information was updated. Review the Satellite plan details.
  5. Specify a Service name if you want something other than the default name.
  6. Click Create.

When you provision an Event Streams service instance, a service cluster is automatically deployed into your Satellite location. You can verify the start of the deployment of the service cluster with the following steps:

  1. From the left Navigation menu, select Satellite, then Locations.
  2. Select your Satellite location.
  3. Select Services.
  4. Verify that a service named messagehub is listed. If it is not yet listed, refresh the page until it is listed before you move to the next step.

While the service instance and cluster are being provisioned, create the storage assignment. Proceed to the next step and complete the instructions.

Create the block storage configuration assignment (by using Satellite Storage UI)

During the Event Streams service instance provision, block storage configuration is automatically queued for confirmation and assignment. This confirmation and assignment requires acknowledgment from the Satellite location administrator.

The following steps use the Storage user interface for Satellite. If you prefer to use the CLI, you can use it to create the storage configuration from templates, and then assign that configuration to the Event Streams messagehub service cluster.

  1. Go to Satellite, by clicking Satellite > Locations in the navigation bar.

  2. Select your Satellite location.

  3. Select the Services tab.

  4. Look for the acknowledgment window.

    1. Complete the storage configuration setup.
    2. You might be prompted for the Optional: Configure autoupdate step. You are recommended to enable the storage assignment autoupdate for the Event Streams cluster. This will help keep the storage templates automatically updated with the latest revision level available.
    3. Complete assignment of the storage configuration to the Event Streams service cluster.

After the storage assignment is created, allow up to 60 minutes for the Event Streams service instance to be ready for use.

(Optional) Enable the schema registry API

The schema registry API is not automatically enabled when you provision an Event Streams Satellite instance. You must provide an IBM Cloud Object Storage bucket as the backend storage for schema registry to enable this API. You are responsible for managing this bucket, including but not limited to: data encryption, data backup, and disaster recovery.

  1. Create a Cloud Object Storage instance either on IBM Cloud or on a Satellite location.

    The Cloud Object Storage instance on Cloud can be in the same account or in a different account as the Event Streams Satellite instance. The Cloud Object Storage instance on Satellite must be in the same account and in the same location as the Event Streams Satellite instance.

  2. Create a bucket in the Cloud Object Storage instance.

    If the Cloud Object Storage instance is on IBM Cloud, ensure that the bucket is in the same region as the Event Streams Satellite instance's control region. If the Cloud Object Storage instance is on Satellite, ensure that the Cloud Object Storage instance's location is the same as the Event Streams Satellite instance's location.

    To obtain Event Streams Satellite instance's control region or location, check its CRN, as in the following example.

    crn:v1:bluemix:public:messagehub:satloc_dal_c9ntbe5f0gmsm06ofoq0:a/b5b95705e299425cb5c3c82e54d4533b:6b6e769a-f3c8-4e36-aa59-0736cdc036af::
    

    Where satloc_dal_c9ntbe5f0gmsm06ofoq0 is the scope, dal is the control region's short name and indicates the us-south region, and c9ntbe5f0gmsm06ofoq0 is the location ID.

  3. Create an authorization policy between the Event Streams Satellite instance and the Cloud Object Storage bucket.

    The source is the Event Streams Satellite instance. The target is the Cloud Object Storage bucket, and the role is Writer. If the Cloud Object Storage on Cloud instance is in a different account, ensure that the authorization policy is created in the Cloud Object Storage instance's account and the Event Streams instance's account is set as the source account.

  4. Create or update Event Streams Satellite instance.

    If the Event Streams Satellite instance was not provisioned, use the following command to provision the instance with the additional -p parameter.

    ibmcloud resource service-instance-create <instance-name> `messagehub` Satellite <location-id> -p '{"cos_bucket_crn":"<cos-bucket-crn>"}'
    

    If the Event Streams Satellite instance was provisioned, use the following command to update the instance with the -p parameter.

    ibmcloud resource service-instance-update <instance-name> -p '{"cos_bucket_crn":"<cos-bucket-crn>"}'