Deploying HariKube operator to manage dynamic database topology

Before diving in, make sure you have a running Kubernetes cluster. If you need help setting one up, check out our tutorial. [→]
Table of Contents
🔌 Installing Essential Kubernetes Add-ons
To get started, let’s install two popular open-source add-ons: Cert-Manager for automated certificate management, and the Prometheus Operator for monitoring and alerting. These add-ons are widely used and will help your cluster run smoothly.
| |
✨ Deploying the HariKube Operator
⚠️ HariKube images aren’t public yet. If you’d like to try them, request a free trial version on the Open Beta invitation page.
Start by authenticating your local Docker client with the private registry at registry.harikube.info. This step is essential for pulling images from the registry.
| |
Next, pull the HariKube Operator image from our registry:
| |
If you’re using Kind for your cluster, load the image into your Kind node:
| |
Now, deploy the HariKube Operator to your cluster. This operator will manage your custom database routing policies and automate topology changes.
| |
🔨 Configuring the Operator and Registering a Custom Resource
Let’s create your first topology configuration. This tells the HariKube Operator how to route data for a specific custom resource.
| |
This TopologyConfig custom resource instructs the operator to manage all shirts resources, storing their data in a dedicated SQLite database (shirts.db) inside the HariKube Middleware container.
Apply the configuration:
| |
🚀 Defining and Deploying a New Application Resource
To see HariKube in action, let’s define a new custom resource type. We’ll use a simple example: a Shirt resource.
| |
This command registers the Shirt custom resource definition (CRD) in your cluster. Now, Kubernetes can manage Shirt objects just like native resources.
Let’s create an actual Shirt instance:
| |
Once applied, the Kubernetes API server will accept the new Shirt object. The HariKube Middleware, guided by your TopologyConfig, will store this instance in the dedicated SQLite database. This demonstrates the full workflow: from defining a custom resource to automated, isolated database storage.
To verify everything is working, check the database for your new Shirt resource:
| |
And that’s the final step! You’ve successfully deployed the HariKube Operator and configured a dynamic database topology for your custom resources. This setup gives you data isolation, lower latency, and virtually unlimited storage by offloading custom resource data from ETCD to dedicated backends like SQLite, truly turning Kubernetes into a scalable Platform-as-a-Service.
Thank you for reading! If you have questions or ideas, please share them—we’d love to hear from you.