Kubernetes and Helm charts¶
Deploy and orchestrate kdb+ processes in the cloud
At the core of the example application is a simple tickerplant (TP), realtime database (RDB), and historical database (HDB) application extended from the core scripts.
Tickerplant Transaction log file creation and recovery Simple subscription and publish End of Day configuration and triggering RDB Simple subscriptions Transaction log recovery Gateway Async/sync queries Callback queries Example Gateway API HDB Simple API for HDB reload Shared Storage Example usage of cloud storage classes Data persistence on pod restarts
Besides these core elements of a kdb+ application are also feature sets to make building applications easier, and to utilize cloud-native tools and services.
Each container is built with additional libraries:
|connect||connections library for storing and making connections to external instances|
|schema||loading and storing schema definitions|
|timer||simple timer library for scheduling repeated tasks|
|utils||helper utility functions|
- Metrics container
sidecar container built on KX Fusion Prometheus Exporter
- Logging agent
Logging agent deployed as a DaemonSet to collect and centralize logs from every container
Kdb+ Helm charts incorporate other KX Cloud Edition features e.g. qpacker, qlog, kurl.
Crucially this implementation of the kdb+ application uses Kubernetes as an orchestration tool and Helm as a templating and deployment management tool. This offers
- Highlights of best practices for deploying kdb+ applications to cloud providers
- Insights into how a Kubernetes kdb+ cluster should integrate with monitoring clusters to provide metrics
- Horizontally-scalable approaches to your application
- Solutions to shared storage between chart components/pods
- A high-level overview of cluster administration items such as RBAC
You are assumed to be familiar with these tools and how they are used and to have access to cloud environments where they can be deployed.