Event Streams is the paid-for version intended for enterprise use, and includes full IBM support and additional features such as geo-replication.
You can also install a basic deployment of Event Streams to try it out.
Before you begin
- Ensure you have set up your environment according to the prerequisites, including your IBM Cloud Private environment.
- Ensure you have planned for your installation, such as planning for persistent volumes if required, and creating a ConfigMap for Kafka static configuration.
Preparing the platform
Prepare your platform for installing Event Streams as follows.
Create a namespace
You must use a namespace that is dedicated to your Event Streams deployment. This is required because Event Streams uses network security policies to restrict network connections between its internal components.
If you plan to have multiple Event Streams instances, create namespaces to organize your Event Streams deployments into, and control user access to them.
You must have the ibm-restricted-psp
PodSecurityPolicy selected for the target namespace.
To create a namespace, you must have the Cluster administrator role. See the IBM Cloud Private documentation for more information about creating namespaces.
Download the archive
Download the Event Streams installation image file from the IBM Passport Advantage site and make it available in your catalog.
- Go to IBM Passport Advantage, and search for “Event Streams”. Download the images related to the part numbers for your platform (for example, the Event Streams package for the Red Hat OpenShift Container Platform includes
rhel
in the package name). - Ensure you configure your Docker CLI to access your cluster.
- Log in to your cluster from the IBM Cloud Private CLI and log in to the Docker private image registry:
cloudctl login -a https://<cluster_CA_domain>:8443 --skip-ssl-validation docker login <cluster_CA_domain>:8500
Note: The default value for the
cluster_CA_domain
parameter ismycluster.icp
. If necessary add an entry to your system’s host file to allow it to be resolved. For more information, see the IBM Cloud Private documentation. - Install the Event Streams Helm chart by using the compressed image you downloaded from IBM Passport Advantage.
cloudctl catalog load-archive --archive <PPA-image-name.tar.gz>
When the image installation completes successfully, the catalog is updated with the Event Streams local chart, and the internal Docker repository is populated with the Docker images used by Event Streams.
Preparing the repository
Prepare your repository for the installation as follows.
Note: Before running kubectl
commands as instructed in any the following steps, log in to your IBM Cloud Private cluster as an administrator by using cloudctl login
.
Create an image pull secret
Create an image pull secret for the namespace where you intend to install Event Streams (this is the namespace created earlier). The secret enables access to the internal Docker repository provided by IBM Cloud Private.
To create a secret, use the following command:
kubectl create secret docker-registry regcred --docker-server=<cluster_CA_domain>:8500 --docker-username=<user-name> --docker-password=<password> --docker-email=<your-email> -n <namespace_for_event_streams>
For example:
kubectl create secret docker-registry regcred --docker-server=mycluster.icp:8500 --docker-username=admin --docker-password=admin --docker-email=john.smith@ibm.com -n event-streams
For more information about creating image pull secrets, see the IBM Cloud Private documentation.
Create an image policy
Create an image policy for the internal Docker repository. The policy enables images to be retrieved during installation.
To create an image policy:
- Create a
.yaml
file with the following content, then replace<cluster_CA_domain>
with the correct value for your IBM Cloud Private environment, and replace the<namespace_for_event_streams>
value with the name where you intend to install Event Streams (set as-n event-streams
in the previous example):apiVersion: securityenforcement.admission.cloud.ibm.com/v1beta1 kind: ImagePolicy metadata: name: image-policy namespace: <namespace_for_event_streams> spec: repositories: - name: docker.io/* policy: null - name: <cluster_CA_domain>:8500/* policy: null
- Run the following command:
kubectl apply -f <filename>.yaml
For more information about container image security, see the IBM Cloud Private documentation.
Installing the Event Streams chart
Install the Event Streams chart as follows.
- Log in to your IBM Cloud Private cluster management console from a supported web browser by using the URL
https://<Cluster Master Host>:<Cluster Master API Port>
. The master host and port for your cluster are set during the installation of IBM Cloud Private. For more information, see the IBM Cloud Private documentation.
Ensure you log in as a user that has the Cluster Administrator role. - Click Catalog in the top navigation menu.
- Search for
ibm-eventstreams-prod
and select it from the result. The Event Streams README is displayed. - If you are installing Event Streams on IBM Cloud Private 3.1.1 running on Red Hat Enterprise Linux, remove AppArmor settings in the PodSecurityPolicy to avoid installation issues.
- Click Configure.
Note: The README includes information about how to install Event Streams by using the CLI. To use the CLI, follow the instructions in the README instead of clicking Configure. - Enter a release name that identifies your Event Streams installation, select the target namespace you created previously, and accept the terms of the license agreement.
- Expand the All parameters section to configure the settings for your installation as described in configuring. Configuration options to consider include setting up persistent storage, external access, and preparing for geo-replication.
Important: As part of the configuration process, enter the name of the secret you created previously in the Image pull secret field.
Note: Ensure the Docker image registry field value does not have a trailing slash, for example:mycluster.icp:8500/ibmcom
- Click Install.
- Verify your installation and consider other post-installation tasks.