This directory contains all configuration files to deploy the Titan Control Center in Kubernetes.
The Titan Control Center depends on some external software systems, which should be installed first in your cluster.
Kafka is used by the Titan Control Center by all microservices for their communication. Kafka (along with the required systems ZooKeeper and Schema Registry) can be installed via Helm and Confluent's Helm Charts. We provide a default configuration.
To install Confluent's Kafka with our suggested configuration run:
helm repo add confluentinc https://confluentinc.github.io/cp-helm-charts/
helm repo update
helm install kafka confluentinc/cp-helm-charts -f kafka-values.yaml
Required Kafka topics are created with:
kubectl apply -f kafka-topic-creator.yaml
The Sensor Management microservice required a MongoDB installation. It can be installed via Helm and the Bitnami MongoDB Helm Chart. We provide a configuration file.
Add Bitnami repository and install MongoDB (please note: chart version is required):
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install mongo bitnami/mongodb -f mongo-db-values.yaml --version 7.8.10
Cassandra is used by the Stats and by the History microservice. Data stored in theses services is exclusive to the corresponding microservice. With these introductions, we only use installation for both services. However, both services could also use their own Cassandra installation.
Cassandra is installed with:
kubectl apply -f cassandra/
The microservices of the Titan Control Center including its visualization are deplyoed with:
kubectl apply -f titan-ccp-history/
kubectl apply -f titan-ccp-sensor-management/
kubectl apply -f titan-ccp-stats/
kubectl apply -f titan-ccp-aggregation
kubectl apply -f titan-ccp-frontend/
We provide a demo setup with a couple of simulated sensors. It can be deployed with:
kubectl apply -f titan-flow-raritan/
kubectl apply -f titan-ccp-raritan-simulator/