Attention: This version of Event Streams has reached End of Support. For more information about supported versions, see the support matrix.

Pre-requisites

Ensure your environment meets the following prerequisites before installing Event Streams.

IBM Cloud Private environment

Event Streams version Container platform Systems
Event Streams 2018.3.1 icon IBM Cloud Private 3.1.1 and 3.1.2 - Linux® 64-bit (x86_64) systems
- Linux on IBM® Z systems
  IBM Cloud Private 3.1.0 Linux® 64-bit (x86_64) systems
Event Streams 2018.3.0 icon IBM Cloud Private 3.1.0 Linux® 64-bit (x86_64) systems

Event Streams 2018.3.1 icon has Helm chart version 1.1.0 and includes Kafka version 2.0.1.

Event Streams 2018.3.0 icon has Helm chart version 1.0.0 and includes Kafka version 2.0.

For an overview of supported component and platform versions, see the support matrix.

Ensure you have the following set up for your IBM Cloud Private environment:

  • Install IBM Cloud Private.
    Note: Event Streams includes entitlement to IBM Cloud Private Foundation which you can download from IBM Passport Advantage.
  • Install the Kubernetes command line tool, and configure access to your cluster.
  • Install the IBM Cloud Private Command Line Interface (CLI).
  • Install the Helm CLI required for your version of IBM Cloud Private, and add the IBM Cloud Private internal Helm repository called local-charts to the Helm CLI as an external repository.
  • For message indexing capabilities (enabled by default), ensure you set the vm.max_map_count property to at least 262144 on all IBM Cloud Private nodes in your cluster (not only the master node). Run the following commands on each node:
    sudo sysctl -w vm.max_map_count=262144
    echo "vm.max_map_count=262144" | tee -a /etc/sysctl.conf
    Important: This property might have already been updated by other workloads to be higher than the minimum required.

Hardware requirements

The Helm chart for Event Streams specifies default values for the CPU and memory usage of the Apache Kafka brokers and Apache ZooKeeper servers.

See the following table for memory requirements of each Helm chart component. Ensure you have sufficient physical memory to service these requirements.

Kubernetes manages the allocation of containers within your cluster. This allows resources to be available for other Event Streams components which might be required to reside on the same node.

Ensure you have one IBM Cloud Private worker node per Kafka broker, and a minimum of 3 worker nodes available for use by Event Streams.

Helm resource requirements

The following table lists the resource requirements of the Event Streams Helm chart. For details about the requirements for each pod and their containers, see the tables in the following sections.

Pod Number of replicas Total CPU per pod Total memory per pod (Gi)
Kafka 3* 1* 3.5*
ZooKeeper 3 0.1* 1*
Geo-replicator 0* 1 per replica 1 per replica
Administration UI 1 1 1
Administration server 1 4.5 2.5
Network proxy 2 unlimited unlimited
Access controller 1 0.1 0.25
Index manager 1 unlimited unlimited
Elasticsearch 2 unlimited 4

Important: You can configure the settings marked with an asterisk (*).

Note: Before installing Event Streams (not Community Edition), consider the number of Kafka replicas and geo-replicator nodes you plan to use. Each Kafka replica and geo-replicator node is a separate chargeable unit.

The CPU and memory limits for some components are not limited by the chart, so they inherit the resource limits for the namespace that the chart is being installed into. If there are no resource limits set for the namespace, the containers run with unbounded CPU and memory limits.

Note: Geo-replication is only available in the paid-for version of Event Streams (not available in the Community Edition).

Kafka pod

Container CPU per container Memory per container (Gi)
Kafka 1* 2*
Metrics reporter unlimited 1.5*
Metrics proxy unlimited unlimited
Healthcheck unlimited unlimited

ZooKeeper pod

Container CPU per container Memory per container (Gi)
ZooKeeper 0.1* 1*

Geo-replicator pod

Container CPU per container Memory per container (Gi)
Replicator 1 1
Metrics reporter unlimited unlimited

Administration UI pod

Container CPU per container Memory per container (Gi)
UI 1 1
Redis unlimited unlimited
Proxy unlimited unlimited

Administration server pod

Container CPU per container Memory per container (Gi)
Rest 4 2
Codegen 0.5 0.5
Proxy unlimited unlimited

Network proxy pod

Container CPU per container Memory per container (Gi)
Proxy unlimited unlimited

Access controller pod

Container CPU per container Memory per container (Gi)
Access controller 0.1 0.25
Redis unlimited unlimited

Index manager pod

Container CPU per container Memory per container (Gi)
Index manager unlimited unlimited

Elasticsearch pod

Container CPU per container Memory per container (Gi)
Elastic unlimited 4

PodSecurityPolicy requirements

To install the Event Streams chart, you must have the ibm-restricted-psp PodSecurityPolicy selected for the target namespace.

You can define the PodSecurityPolicy when creating the namespace for your installation.

For more information about PodSecurityPolicy definitions, see the IBM Cloud Private documentation.

Network requirements

Event Streams is supported for use with IPv4 networks only.

File systems for storage

If you want to set up persistent storage, you must have physical volumes available, backed by one of the following file systems:

  • NFS version 4
  • GlusterFS version 3.10.1

Event Streams user interface

The Event Streams user interface (UI) is supported on the following web browsers:

  • Google Chrome version 65 or later
  • Mozilla Firefox version 59 or later
  • Safari version 11.1 or later

Event Streams CLI

The Event Streams command line interface (CLI) is supported on the following systems:

  • Windows 10 or later
  • Linux® Ubuntu 16.04 or later
  • macOS 10.13 (High Sierra) or later

Clients

The Apache Kafka Java client included with Event Streams is supported for use with the following Java versions:

  • IBM Java 8
  • Oracle Java 8

You can also use other Kafka version 2.0 or later clients when connecting to Event Streams. If you encounter client-side issues, IBM can assist you to resolve those issues (see our support policy).

Event Streams is designed for use with clients based on the librdkafka implementation of the Apache Kafka protocol.