Overview
Kubernetes Packaging
Thingpark Enterprise deployment on kubernetes is composed of
- the ThingPark Data Stack providing third-party persistence services
- the ThingPark Enterprise Stack providing core components
Each stack is deployed by 2 Helm Charts:
- One deploying required Kubernetes extensions like operators and other controllers
- One deploying applications
Below schema illustrates packaging structure and dependencies between deployed Helm Chart releases:
THINGPARK DATA STACK THINGPARK ENTERPRISE STACK
┌──────────────────────────────────┐ ┌─────────────────────────────────┐
│ thingpark-data │ │ thingpark-enterprise │
├──────────────────────────────────┤ ├─────────────────────────────────┤
Application layer │ - mongodb replicaset │ │ - lrc │
│ - mariadb-galera cluster │ uses │ - twa │
│ - zookeeper cluster │ ◄──── │ - rca │
│ - kafka cluster │ │ - ... │
└──────────────────────────────────┘ └─────────────────────────────────┘
│ uses │ uses
▼ ▼
┌──────────────────────────────────┐ ┌──────────────────────────────────┐
│ thingpark-data-controllers │ │ thingpark-application-controllers│
Kubernetes extensions ├──────────────────────────────────┤ ├──────────────────────────────────┤
layer │ - Strimzi kafka operator │ │ - ingress-nginx controller │
│ - Percona mongodb operator │ │ - cert-manager operator │
└──────────────────────────────────┘ └──────────────────────────────────┘
│ uses │ uses
▼ ▼
┌───────────────────────────────────────────────────────────────────────────────┐
Kubernetes native │ Kubernetes Control plane │
components layer │ & Data plane │
└───────────────────────────────────────────────────────────────────────────────┘
Configuration
The configuration is separated into multiple files:
- parameters related to capacity planning are provided through a YAML values file from Actility Github Repository configs The file corresponding to the chosen profile should be used without modification.
- parameters related to deployment customization are provided through YAML value files. Files provided in the Actility Github Repository should be used as a starting point.
The deployment uses cluster-wide resources by default.
Deployment proceeding
The ThingPark Enterprise high-level deployment procedure is composed of the main steps hereafter, which are detailed later in this document:
- Review prerequisites
- Prepare the installation by registering and configuring the ThingPark Enterprise Instance
- Install cluster-wide resources.
- Configure and deploy your ThingPark Enterprise instance.
- Login to the ThingPark Enterprise User Interface, the final step to get your instance up & running