Step 2: Engine deployment
This guide explaines how to deploy a Superstream on-prem engine on a Kubernetes platform.
If your environment is completely isolated from the public internet, please use this procedure.
Overview
The Superstream chart will deploy the following pods:
2 Superstream engines
2 Superstream auto-scaler instances
3 NATS brokers
1 Superstream syslog adapter
1 Telegraf agent for monitoring
It is highly recommended to deploy one engine per environment (dev, staging, prod)
Getting started
1. Configure Environment Tokens
Create a custom_values.yaml
file and edit the relevant values (An example can be found here)
2. Deploy
Go to the
custom_values.yaml
directory and run:
Deployment verification:
3. Expose (When Client connectivity is needed. Not a mandatory requirement)
For client connectivity from outside the Kubernetes environment being used, it is necessary to expose the Superstream engine on port 4222 outside of the Kubernetes cluster where Superstream is deployed.
Here is an example YAML file to illustrate the required service
configuration:
4. Enter Superstream Console
Superstream Console can be found here: https://app.superstream.ai
Appendixes
Appendix A - Non-HA Deployment
For testing purposes only, Superstream can be deployed without HA capabilities. Change to false
the following parameter in the values.yaml
file:
Appendix B - Superstream Update
Retrieve the Most Recent Version of the Superstream Helm Chart
Make sure to use the same values:
Run the Upgrade command:
Appendix C - Uninstall
Steps to Uninstall Superstream Engine.
Delete Superstream Engine Helm Releases:
Remove Persistent Storage Bound to the Engine:
It's crucial to delete the stateful storage linked to the Engine. Ensure you carefully specify the namespace in the command below before executing it:
Appendix D - Use Custom StorageClass
StorageClass definition
If there is no default storageClass configured for the Kubernetes cluster or there is a need to choose a custom storageClass, it can be done by specifying its name in the values.yaml
file.
Appendix E - Deploy Superstream Engine with internal authentication mode on
To enable secure client authentication for the Superstream Engine, edit thevalues.yaml
file and set the skipLocalAuthentication
parameter to false
.
Appendix F - Deploy Superstream Engine using labels, tolerations, nodeSelector and etc'
To inject custom labels into all services deployed by Superstream, utilize the
global.labels
variable.
To configure tolerations, nodeSelector, and affinity settings for each deployed service, the adjustments in the following example need to be done:
Best practices
Dev / Staging environments
Connecting your Development/Staging Kafka Clusters to Superstream is recommended. This can be done using either one or more dedicated Superstream engines (data planes) for each environment or the same engine connected to the production clusters.
Last updated