Skip to main content

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:

  1. Review prerequisites
  2. Prepare the installation by registering and configuring the ThingPark Enterprise Instance
  3. Install cluster-wide resources.
  4. Configure and deploy your ThingPark Enterprise instance.
  5. Login to the ThingPark Enterprise User Interface, the final step to get your instance up & running