KubeBlocks
BlogsEnterprise
⌘K
​
Blogs

Overview
Quickstart
Architecture

Operations

Stop / Start / Restart
Vertical Scaling
Horizontal Scaling
Volume Expansion
Reconfigure
Switchover
Manage Services

Observability

Prometheus Integration
  1. Prerequisites
  2. Update a ClickHouse Parameter
  3. Immutable Parameters
  4. Cleanup

Reconfigure ClickHouse Parameters

KubeBlocks supports dynamic reconfiguration of ClickHouse server parameters. Changes are applied without restarting pods for parameters that support live reload.

Prerequisites

    • A functional Kubernetes cluster (v1.21+ recommended)
    • kubectl v1.21+ installed and configured with cluster access
    • KubeBlocks installed (installation guide)
    • ClickHouse Add-on enabled
    • A demo namespace: kubectl create ns demo

    Update a ClickHouse Parameter

    The following example updates clickhouse.profiles.web.max_bytes_to_read, which limits the maximum bytes read per query for the web profile:

    kubectl apply -f - <<EOF apiVersion: operations.kubeblocks.io/v1alpha1 kind: OpsRequest metadata: name: ch-reconfiguring namespace: demo spec: clusterName: clickhouse-cluster type: Reconfiguring reconfigures: - componentName: clickhouse parameters: - key: clickhouse.profiles.web.max_bytes_to_read value: "200000000000" EOF

    Monitor progress:

    kubectl get opsrequest ch-reconfiguring -n demo -w
    Example Output
    NAME TYPE CLUSTER STATUS PROGRESS AGE ch-reconfiguring Reconfiguring clickhouse-cluster Succeed -/- 10s

    Verify the parameter was applied:

    CH_POD=$(kubectl get pods -n demo -l app.kubernetes.io/instance=clickhouse-cluster \ -o jsonpath='{.items[0].metadata.name}') kubectl exec -n demo $CH_POD -c clickhouse -- \ clickhouse-client --user admin --password password123 \ --query "SELECT name, value FROM system.settings WHERE name = 'max_bytes_to_read'"
    Example Output
    max_bytes_to_read 200000000000

    Immutable Parameters

    The following parameters cannot be changed via OpsRequest (they require a cluster rebuild):

    • clickhouse.http_port
    • clickhouse.https_port
    • clickhouse.tcp_port
    • clickhouse.interserver_http_port
    • clickhouse.listen_host
    • clickhouse.macros
    • clickhouse.logger

    Cleanup

    kubectl delete opsrequest ch-reconfiguring -n demo --ignore-not-found

    © 2026 KUBEBLOCKS INC