Supercharge ClickHouse Deployment on QBO

QBO is a cutting-edge platform that transforms bare-metal servers into powerful cloud solutions using containerized technology instead of traditional virtualization. This approach ensures metal performance, making it ideal for workloads like AI, databases, and real-time applications. This blog walks you through deploying ClickHouse, a columnar database, on QBO with optimal performance.

Why QBO?

QBO leverages container technology for efficient resource utilization, providing:

  • Metal Performance: Direct access to hardware for maximum efficiency.
  • Streamlined Management: Eliminate VM overhead and simplify Kubernetes deployments.
  • Cost Efficiency: Operate at a fraction of traditional cloud costs.

Steps to Deploy ClickHouse on QBO

1. Verify the QBO CLI Installation

Ensure the CLI is installed and compatible:

qbo version | jq .version[]?

2. Add a ClickHouse Cluster

Add a new cluster for ClickHouse using a container-based Kubernetes node:

qbo add cluster clickhouse -i hub.docker.com/kindest/node:v1.32.0 | jq

If the cluster exists, QBO automatically fetches its details.


3. Retrieve Kubernetes Nodes

List all nodes in the cluster to verify the configuration:

qbo get nodes clickhouse | jq .nodes[]?

4. Configure Kubernetes

Set up Kubernetes access based on the environment:

Cloud Environment:

qbo get cluster clickhouse -k | jq -r '.output[]?.kubeconfig | select( . != null)' > $HOME/.qbo/clickhouse.conf
export KUBECONFIG=$HOME/.qbo/clickhouse.conf

On-Premises:

export KUBECONFIG=/tmp/qbo/clickhouse.conf

5. Deploy ClickHouse Operator

Install the ClickHouse operator to manage database deployment:

kubectl apply -f https://raw.githubusercontent.com/Altinity/clickhouse-operator/master/deploy/operator/clickhouse-operator-install-bundle.yaml

6. Deploy Custom Resource Definitions (CRD)

Apply the configuration for the ClickHouse instance:

kubectl apply -f simple-01-crd.yaml

7. Verify Deployment

Connect to the ClickHouse instance through the client:

$HOME/clickhouse client -h $LB -u test_user --password test_password

8. Create and Manage Databases

Create a Database:

$HOME/clickhouse client -h $LB -u test_user --password test_password --port 9000 --query "CREATE DATABASE IF NOT EXISTS moose;"

List Databases:

$HOME/clickhouse client -h $LB -u test_user --password test_password --port 9000 --query "SHOW DATABASES;"

Final Notes

QBO simplifies the deployment and management of ClickHouse with its high-performance and cost-effective container technology. By leveraging QBO’s capabilities, developers and administrators can streamline complex workflows while maximizing hardware efficiency.