ClickHouse Operator creates, configures and manages ClickHouse clusters running on Kubernetes

ClickHouse Operator

ClickHouse Operator creates, configures and manages ClickHouse clusters running on Kubernetes.

GitHub release CircleCI Docker Pulls Go Report Card Go version issues tags

Features

The ClickHouse Operator for Kubernetes currently provides the following:

  • Creates ClickHouse clusters based on Custom Resource specification provided
  • Customized storage provisioning (VolumeClaim templates)
  • Customized pod templates
  • Customized service templates for endpoints
  • ClickHouse configuration and settings (including Zookeeper integration)
  • Flexible templating
  • ClickHouse cluster scaling including automatic schema propagation
  • ClickHouse version upgrades
  • Exporting ClickHouse metrics to Prometheus

Requirements

  • Kubernetes 1.15.11+

Documentation

Quick Start Guide

Advanced setups

Maintenance tasks

Monitoring

How to contribute


All docs


License

Copyright (c) 2019-2020, Altinity Ltd and/or its affiliates. All rights reserved.

clickhouse-operator is licensed under the Apache License 2.0.

See LICENSE for more details.

Owner
Comments
  • How to implement logical cluster?

    How to implement logical cluster?

    Hi All, I saw the feature about logical cluster has already implemented in the Release Notes v2.0.0, but I found no idea about the details of the implements from the source code in file ch_config_generator.go: func (c *ClickHouseConfigGenerator) GetRemoteServers(options *RemoteServersGeneratorOptions) string {

    Could you tell me how the logical cluster comes true? Thanks!

  • can custom image

    can custom image

    What type of PR is this? /enhancement

    Which issue(s) this PR fixes? N/A

    What this PR does? Summary:

    • Let zookeeper & busybox's image can be customized.

    Special notes for your reviewer? N/A

  • create/delete zookeeper when create/delete clickhouse

    create/delete zookeeper when create/delete clickhouse

    What type of PR is this? /new feature

    Which issue(s) this PR fixes? #1

    What this PR does? Summary: Auto create/delete zookeeper cluster when create/delete clickhouse cluster & write zookeeper config to clickhouse.

    Special notes for your reviewer? N/A

  • operator create/delete zookeeper

    operator create/delete zookeeper

    Since ClickHouse relies heavily on ZooKeeper. it is expected that the Operator will automatically create a ZooKeeper cluster for ClickHouse to use. And delete the corresponding ZooKeeper cluster when deleting the ClickHouse cluster.

  • set release to 2.1.3

    set release to 2.1.3

    Thanks for taking the time to contribute to clickhouse-operator!

    Please, read carefully instructions on how to make a Pull Request.

    This will help a lot for maintainers to adopt your Pull Request.

    Important items to consider before making a Pull Request

    Please check items PR complies to:

    • [ ] All commits in the PR are squashed. More info
    • [ ] The PR is made into dedicated next-release branch, not into master branch1. More info
    • [ ] The PR is signed. More info

    --

    1 If you feel your PR does not affect any Go-code or any testable functionality (for example, PR contains docs only or supplementary materials), PR can be made into master branch, but it has to be confirmed by project's maintainer.

  • add namespaceOverride

    add namespaceOverride

    Thanks for taking the time to contribute to clickhouse-operator!

    Please, read carefully instructions on how to make a Pull Request.

    This will help a lot for maintainers to adopt your Pull Request.

    Important items to consider before making a Pull Request

    Please check items PR complies to:

    • [ ] All commits in the PR are squashed. More info
    • [ ] The PR is made into dedicated next-release branch, not into master branch1. More info
    • [ ] The PR is signed. More info

    --

    1 If you feel your PR does not affect any Go-code or any testable functionality (for example, PR contains docs only or supplementary materials), PR can be made into master branch, but it has to be confirmed by project's maintainer.

  • Chronus v2.2.0 backup status

    Chronus v2.2.0 backup status

    Thanks for taking the time to contribute to clickhouse-operator!

    Please, read carefully instructions on how to make a Pull Request.

    This will help a lot for maintainers to adopt your Pull Request.

    Important items to consider before making a Pull Request

    Please check items PR complies to:

    • [ ] All commits in the PR are squashed. More info
    • [ ] The PR is made into dedicated next-release branch, not into master branch1. More info
    • [ ] The PR is signed. More info

    --

    1 If you feel your PR does not affect any Go-code or any testable functionality (for example, PR contains docs only or supplementary materials), PR can be made into master branch, but it has to be confirmed by project's maintainer.

  • modify build shell script

    modify build shell script

    What type of PR is this? /enhancement

    Which issue(s) this PR fixes? N/A

    What this PR does?

    • Modify the build script to make the build process more convenient.
    • Modify the Dockerfile to support building images of different architectures.
    • Modify the image build script to support building images of different architectures.

    Special notes for your reviewer? N/A

  • add zookeeper pod template

    add zookeeper pod template

    What type of PR is this? /enhancement

    Which issue(s) this PR fixes? #16 https://github.com/kubesphere/qkcp/issues/155

    What this PR does?

    • Add zookeeper pod / svc / pvc template to support powerful zookeeper customization.

    Special notes for your reviewer? N/A

  • docs *: merge radondb-clickhouse-kubernetes docs #13

    docs *: merge radondb-clickhouse-kubernetes docs #13

    target: merge radondb-clickhouse-kubernetes docs

    task:

    • [x] Integrate documentation from radondb-clickhouse-kubernetes into this repository
    • [x] Modify the relevant deployment documentation in KS and elsewhere (if any)
    • [x] Modify quick-start.md in docs
    • [x] Add quick-start.md in zh-cn
    • [x] Modify README.md
    • [x] Add README_zh.md
  • docs *: merge radondb-clickhouse-kubernetes docs #13

    docs *: merge radondb-clickhouse-kubernetes docs #13

    target: merge radondb-clickhouse-kubernetes docs

    task:

    • [x] Integrate documentation from radondb-clickhouse-kubernetes into this repository
    • [x] Modify the relevant deployment documentation in KS and elsewhere (if any)
    • [x] Modify quick-start.md in docs
    • [x] Add quick-start.md in zh-cn
    • [x] Modify README.md
    • [x] Add README_zh.md
  • Enable zookeeper security authentication

    Enable zookeeper security authentication

    From https://github.com/radondb/radondb-clickhouse-kubernetes/issues/19 At present, zookeeper does not have security authentication enabled and can be accessed at will, which has security problems.

  • Support using ClickHouse official mirror

    Support using ClickHouse official mirror

    From https://github.com/radondb/radondb-clickhouse-kubernetes/issues/19 Since RadonDB ClickHouse has modified the kernel and added the default_on_cluster configuration, which is currently hard-coded, the official ClickHouse image is not supported.

  • merge radondb-clickhouse-kubernetes repository

    merge radondb-clickhouse-kubernetes repository

    target: merge radondb-clickhouse-kubernetes repository

    task:

    • [x] Move helm charts to this repository
    • [x] Integrate documentation from radondb-clickhouse-kubernetes into this repository
    • [ ] Modify the relevant deployment documentation in KS and elsewhere (if any)
    • [ ] Add git pages to this repository
    • [ ] Add shell scripts to automatically generate helm charts files from deploy files
    • [ ] Modify all docs from source(altinity)
    • [ ] Add zh-cn docs
ClickHouse http proxy and load balancer
ClickHouse http proxy and load balancer

chproxy English | 简体中文 Chproxy, is an http proxy and load balancer for ClickHouse database. It provides the following features: May proxy requests to

Jan 3, 2023
Collects many small inserts to ClickHouse and send in big inserts

ClickHouse-Bulk Simple Yandex ClickHouse insert collector. It collect requests and send to ClickHouse servers. Installation Download binary for you pl

Dec 28, 2022
Distributed tracing using OpenTelemetry and ClickHouse

Distributed tracing backend using OpenTelemetry and ClickHouse Uptrace is a dist

Jan 2, 2023
Mogo: a lightweight browser-based logs analytics and logs search platform for some datasource(ClickHouse, MySQL, etc.)
Mogo: a lightweight browser-based logs analytics and logs search platform for some datasource(ClickHouse, MySQL, etc.)

mogo Mogo is a lightweight browser-based logs analytics and logs search platform

Dec 30, 2022
Bifrost ---- 面向生产环境的 MySQL 同步到Redis,MongoDB,ClickHouse,MySQL等服务的异构中间件
Bifrost ---- 面向生产环境的 MySQL 同步到Redis,MongoDB,ClickHouse,MySQL等服务的异构中间件

Bifrost ---- 面向生产环境的 MySQL 同步到Redis,ClickHouse等服务的异构中间件 English 漫威里的彩虹桥可以将 雷神 送到 阿斯加德 和 地球 而这个 Bifrost 可以将 你 MySQL 里的数据 全量 , 实时的同步到 : Redis MongoDB Cl

Dec 30, 2022
support clickhouse

Remote storage adapter This is a write adapter that receives samples via Prometheus's remote write protocol and stores them in Graphite, InfluxDB, cli

Dec 7, 2022
Jaeger ClickHouse storage plugin implementation

Jaeger ClickHouse Jaeger ClickHouse gRPC storage plugin. This is WIP and it is based on https://github.com/bobrik/jaeger/tree/ivan/clickhouse/plugin/s

Feb 15, 2022
Clickhouse support for GORM

clickhouse Clickhouse support for GORM Quick Start package main import ( "fmt" "github.com/sweetpotato0/clickhouse" "gorm.io/gorm" ) // User

Oct 18, 2022
Mergestat - a command-line tool for running SQL queries on git repositories and related data sources
Mergestat - a command-line tool for running SQL queries on git repositories and related data sources

Query git repositories with SQL. Generate reports, perform status checks, analyze codebases. ?? ??

Dec 30, 2022
Manage SQL databases, users and grant using kubernetes manifests

SqlOperator Operate sql databases, users and grants. This is a WIP project and should not at all be used in production at this time. Feel free to vali

Nov 28, 2021
SQLFlow is a compiler that compiles a SQL program to a workflow that runs on Kubernetes.
SQLFlow is a compiler that compiles a SQL program to a workflow that runs on Kubernetes.

SQLFlow is a compiler that compiles a SQL program to a workflow that runs on Kubernetes. The input is a SQL program that writt

Jan 9, 2023
A tool to run queries in defined frequency and expose the count as prometheus metrics. Supports MongoDB and SQL
A tool to run queries in defined frequency and expose the count as prometheus metrics. Supports MongoDB and SQL

query2metric A tool to run db queries in defined frequency and expose the count as prometheus metrics. Why ? Product metrics play an important role in

Jul 1, 2022
OctoSQL is a query tool that allows you to join, analyse and transform data from multiple databases and file formats using SQL.
OctoSQL is a query tool that allows you to join, analyse and transform data from multiple databases and file formats using SQL.

OctoSQL OctoSQL is a query tool that allows you to join, analyse and transform data from multiple databases, streaming sources and file formats using

Dec 29, 2022
WAL-G is an archival restoration tool for PostgreSQL, MySQL/MariaDB, and MS SQL Server (beta for MongoDB and Redis).

WAL-G is an archival restoration tool for PostgreSQL, MySQL/MariaDB, and MS SQL Server (beta for MongoDB and Redis).

Jan 1, 2023
A Go rest API project that is following solid and common principles and is connected to local MySQL database.
A Go rest API project that is following solid and common principles and is connected to local MySQL database.

This is an intermediate-level go project that running with a project structure optimized RESTful API service in Go. API's of that project is designed based on solid and common principles and connected to the local MySQL database.

Dec 25, 2022
An observability database aims to ingest, analyze and store Metrics, Tracing and Logging data.
An observability database aims to ingest, analyze and store Metrics, Tracing and Logging data.

BanyanDB BanyanDB, as an observability database, aims to ingest, analyze and store Metrics, Tracing and Logging data. It's designed to handle observab

Dec 31, 2022
Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API

REL Modern Database Access Layer for Golang. REL is golang orm-ish database layer for layered architecture. It's testable and comes with its own test

Dec 29, 2022
BQB is a lightweight and easy to use query builder that works with sqlite, mysql, mariadb, postgres, and others.

Basic Query Builder Why Simple, lightweight, and fast Supports any and all syntax by the nature of how it works Doesn't require learning special synta

Dec 7, 2022