Ensure your environment meets the following prerequisites before installing Event Streams.
IBM Cloud Private environment
Event Streams version | Container platform | Systems |
---|---|---|
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 | |
IBM Cloud Private 3.1.0 | Linux® 64-bit (x86_64) systems |
has Helm chart version 1.1.0 and includes Kafka version 2.0.1.
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 least262144
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.