Skip to content

Multi K8S cluster/region support #144

@deejay1

Description

@deejay1

Company or project name

No response

Use case

Creating a multi K8S cluster setup, where clusters may be located via sufficiently fast/close links for redundancy in case of complete datacenter failure for self hosters.

Describe the solution you'd like

Allow to create a base cluster and attach other clusters to it with separate deployments for clickhouse-keeper and clickhouse-server. Right now using the legacy bitnami charts, I can do such setup by overriding the cluster config and specifying all instances.
EG

               <server>
                    <id>0</id>
                    <hostname>clickfuse-clickhouse-keeper-0.clickfuse-clickhouse-keeper-headless.langfuse.svc.k8s-cluster.datacenter1</hostname>
                    <port from_env="CLICKHOUSE_KEEPER_RAFT_PORT"></port>
                </server>
                <server>
                    <id>1</id>
                    <hostname>clickfuse-clickhouse-keeper-1.clickfuse-clickhouse-keeper-headless.langfuse.svc.ik8s-cluster.datacenter1</hostname>
                    <port from_env="CLICKHOUSE_KEEPER_RAFT_PORT"></port>
                </server>
                <server>
                    <id>2</id>
                    <hostname>clickfuse-clickhouse-keeper-2.clickfuse-clickhouse-keeper-headless.langfuse.svc.k8s-cluster.datacenter1</hostname>
                    <port from_env="CLICKHOUSE_KEEPER_RAFT_PORT"></port>
                </server>
                <server>
                    <id>3</id>
                    <hostname>clickfuse-clickhouse-keeper-0.clickfuse-clickhouse-keeper-headless.langfuse.svc.ik8s-cluster.datacenter2</hostname>
                    <port from_env="CLICKHOUSE_KEEPER_RAFT_PORT"></port>
                </server>
                <server>
                    <id>4</id>
                    <hostname>clickfuse-clickhouse-keeper-1.clickfuse-clickhouse-keeper-headless.langfuse.svc.k8s-cluster.datacenter2</hostname>
                    <port from_env="CLICKHOUSE_KEEPER_RAFT_PORT"></port>
                </server>
                <server>
                    <id>5</id>
                    <hostname>clickfuse-clickhouse-keeper-2.clickfuse-clickhouse-keeper-headless.langfuse.svc.k8s-cluster.datacenter2</hostname>
                    <port from_env="CLICKHOUSE_KEEPER_RAFT_PORT"></port>
                </server>
                <server>
                    <id>6</id>
                    <hostname>clickfuse-clickhouse-keeper-0.clickfuse-clickhouse-keeper-headless.langfuse.k8s-cluster.datacenter3</hostname>
                    <port from_env="CLICKHOUSE_KEEPER_RAFT_PORT"></port>
                </server>

and a similar config for clickhouse-server

Describe alternatives you've considered

Using the old bitnami charts but upgrading images and adapting scripts

Additional context

Clickhouse deployment used for langfuse

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureFeature request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions