Skip to content

Releases: Altinity/clickhouse-operator

release-0.22.1

30 Nov 14:38
Compare
Choose a tag to compare

Added

  • New 'Aborted' status for CHI is set when reconcile is aborted by an operator

Changed

  • Allow shard weight to be zero (#1192 by maxistua)
  • Removed excessive logging for pod update events
  • Removed 30s delay after creating a service
  • Allow empty values for CRD status and some other fields in order to facilitate migration from old operator versions that were upgraded without upgrading CRD first. Fixes #842, #890 and similar issues.

Full Changelog: release-0.22.0...release-0.22.1

release-0.22.0

02 Nov 13:42
Compare
Choose a tag to compare

Added

  • Support volume re-provisioning. If volume is broken and PVC detects it as lost, operator re-provisions the volume
  • When new CHI is created, all hosts are created in parallel
  • Allow to turn off waiting for running queries to complete. This can be done both in operator configuration or in CHI itself:
    In operator configuration:
spec:
  reconcile:
    host:
      wait:
        queries: "false"

In CHI:

spec:
  reconciling:
    policy: nowait
  • When changes are applied to clusters with a lot of shards, the change is probed on a first node only. Is successul, it is applied on 50% of shards. This can be configured in operator configuration:
reconcile:
  # Reconcile runtime settings
  runtime:
    # Max number of concurrent CHI reconciles in progress
    reconcileCHIsThreadsNumber: 10

    # The operator reconciles shards concurrently in each CHI with the following limitations:
    #   1. Number of shards being reconciled (and thus having hosts down) in each CHI concurrently
    #      can not be greater than 'reconcileShardsThreadsNumber'.
    #   2. Percentage of shards being reconciled (and thus having hosts down) in each CHI concurrently
    #      can not be greater than 'reconcileShardsMaxConcurrencyPercent'.
    #   3. The first shard is always reconciled alone. Concurrency starts from the second shard and onward.
    # Thus limiting number of shards being reconciled (and thus having hosts down) in each CHI by both number and percentage

    # Max number of concurrent shard reconciles within one CHI in progress
    reconcileShardsThreadsNumber: 5
    # Max percentage of concurrent shard reconciles within one CHI in progress
    reconcileShardsMaxConcurrencyPercent: 50
  • Operator-related metrics are exposed to Prometheus now:
clickhouse_operator_chi_reconciles_started
clickhouse_operator_chi_reconciles_completed
clickhouse_operator_chi_reconciles_timings

clickhouse_operator_host_reconciles_started
clickhouse_operator_host_reconciles_completed
clickhouse_operator_host_reconciles_restarts
clickhouse_operator_host_reconciles_errors
clickhouse_operator_host_reconciles_timings

clickhouse_operator_pod_add_events
clickhouse_operator_pod_update_events
clickhouse_operator_pod_delete_events

Changed

  • fix typo in operator_installation_details.md by @seeekr in #1219
  • Set operator release date fot createdAt CSV field by @dmvolod in #1223
  • Fix type for exclude and include fields in 70-chop-config.yaml example by @dmvolod in #1222
  • change dashboard refresh rate 1m and add min_duration_ms, max_duration_ms dashboard variables, rename query_type to query_kind by @Slach in #1235
  • add securityContext to helm chart by @farodin91 in #1255
  • metrics-exporter collects all hosts and queries in parallel

Fixed

  • Fixed a bug when operator could break multiple nodes if incorrect configuration has been deployed several times in a row
  • Fixed a bug when schema could not be created on new nodes, if nodes took too long to start
  • Fixed a bug when services were not reconciled in rare cases

New Contributors

Full Changelog: release-0.21.3...release-0.22.0

release-0.21.3

02 Aug 19:13
Compare
Choose a tag to compare

Added

Changed

  • CHITemplates are now re-loaded automatically without a need to restart operator. Changes in CHITemplates are not applied automatically to affected CHI.

Fixed

New Contributors

Full Changelog: release-0.21.2...release-0.21.3

release-0.21.2

29 Jun 09:04
Compare
Choose a tag to compare

Added

  • Added support of clickhouse-log via podTemplates by @dmmarkov in #1012
  • Added SQL UDFs replication when adding shards/replicas. Closes #1174

Changed

  • Operator and metrics-exporter now automatically select 'http' or 'https' for connecting to cluster based on cluster configuration
  • Changed statefulSet update behaviour to abort the update on failure. That protects the rest of the cluster from a breaking changes
  • Removed unneeded operations on persistent volumes

Fixed

Other

  • Run tests in parallel by @antip00 in #1171
  • fix build script to adapt to macos m1. by @xiedeyantu in #1169
  • Improvements to Grafana and Prometheus manifests

New Contributors

Full Changelog: release-0.21.1...release-0.21.2

release-0.21.1

29 May 17:09
Compare
Choose a tag to compare

Added

  • Added configurable shard-level concurrent reconciliation by @zcross in #1124. It is controlled by the following operator configuration settings:
reconcile:
  runtime:
    # Max number of concurrent CHI reconciles in progress
    reconcileCHIsThreadsNumber: 10
    # Max number of concurrent shard reconciles in progress
    reconcileShardsThreadsNumber: 1
    # The maximum percentage of cluster shards that may be reconciled in parallel
    reconcileShardsMaxConcurrencyPercent: 50
  • Added default configuration for ClickHouse system.trace_log table with 30 days TTL

Changed

  • ZooKeeper manifests were rewritten to store configuration separately

Fixed

  • Fixed a bug in metrics-exporter that might stop working on ClickHouse nodes with certain types of system.errors. Closes #1161
  • Fixed a bug with ClickHouse major version detection for Altinity.Stable builds

Full Changelog: release-0.21.0...release-0.21.1

release-0.21.0

20 May 02:45
Compare
Choose a tag to compare

What's Changed

  • Changed the way Operator applies ClickHouse settings. In the previous version, every change in settings required a restart via re-creating a StatefulSet. In this version it does not re-create StatefulSet anymore, but maintains a logic that decide if ClickHouse needs to be restarted in order to pickup a change or not. In case of restart it is performed using scaling stateful set down and up. The restart logic is controlled by configurationRestartPolicy configuration setting. Here is the default configuration:
    rules:
      - version: "*"
        rules:
          - settings/*: "yes"
          - settings/dictionaries_config: "no"
          - settings/logger: "no"
          - settings/macros/*: "no"
          - settings/max_server_memory_*: "no"
          - settings/max_*_to_drop: "no"
          - settings/max_concurrent_queries: "no"
          - settings/models_config: "no"
          - settings/user_defined_executable_functions_config: "no"

          - zookeeper/*: "yes"

          - files/config.d/*.xml: "yes"
          - files/config.d/*dict*.xml: "no"

          - profiles/default/background_*_pool_size: "yes"
          - profiles/default/max_*_for_server: "yes"
      - version: "21.*"
        rules:
          - settings/logger: "yes" 
  • Improved reliability of schema creation for new shards/replicas
  • Added "secure" option for Zookeeper connections by @Tvion in #1114
  • Added "insecure" flag that closes insecure TCP/HTTP ClickHouse ports. See security_hardening.md for more detail
  • Added an option to disable metrics exporter by @roimor in #1131
  • Added system.errors scrapping into metrics-exporter
  • Refactor Registry internals to make concurrent access safe by @zcross in #1115

Fixed

  • Fixed a bug that might result in PDB being deleted. Closes #1139
  • Fixed propagation of podTemplate environment variables from ClickHouseInstallationTemplate to ClickHouseInstallation
  • Fixed propagation of startup probe from ClickHouseInstallationTemplate to ClickHouseInstallation

Non-operator changes

  • Changed Grafana deployment to allow persisting custom dashboards
  • Changed ZooKeeper version to 3.8.1

New Contributors

Full Changelog: release-0.20.3...release-0.21.0

release-0.20.3

08 Feb 14:16
Compare
Choose a tag to compare

What's Changed

  • Use alpine base image instead of UBI
  • Fix error handling when table already exists in ZooKeeper for new ClickHouse versions

Full Changelog: release-0.20.2...release-0.20.3

release-0.20.2

06 Feb 06:01
Compare
Choose a tag to compare

What's Changed

  • Added 'hostsCompleted' to the CHI status and events
  • Changed some 'default' profile settings:
    • Enabled 'do_not_merge_across_partitions_select_final'
    • Set 'load_balancing' to 'nearest_hostname'
    • Set niceness ('os_thread_priority') to 2.
  • Improved stability of metric-exporter when some ClickHouse nodes are responding slowly
  • Changed sequence of LB service creation to avoid a situation when service exists with no available endpoints
  • Added 'secure' flag at cluster level for enabling distributed queries over TLS
  • Addressed CVEs in dependent packages

Note: datatype for 'secure' flag has been changed from boolean to String (accepting, 'true', 'yes', '1' etc.)

release-0.20.1

16 Dec 15:12
Compare
Choose a tag to compare

What's Changed

  • Improvements to Grafana dashboards by @Slach
  • Generate operator helm chart by @slamdev in #1049
  • Added cluster to PodDesruptionBudget selector. Closes #996. Note: PDB requires Kubernetes version 1.21 or above.
  • Added status.hostsCompleted to track reconcile progress
  • Do not restart CHI with restart attribute when operator is restarted
  • Address https://nvd.nist.gov/vuln/detail/CVE-2022-27664. Closes #1039
  • Fixed RBAC permissions for secrets. Closes #1051

New Contributors

Full Changelog: release-0.20.0...release-0.20.1

release-0.20.0

07 Nov 09:45
8be01e7
Compare
Choose a tag to compare

What's Changed

  defaults:
    storageManagement:
      provisioner: Operator
  • Use secret for clickhouse_operator credentials as default
  • Improve zookeeper scaleout by @Slach in #984
  • add loadaverage + network + disk panel to clickhouse dashboard by @Slach in #1015
  • comment out chopusername check by @SuzyWangIBMer in #1009
  • Reduced a size of status field
  • Improved logging

Fixed

  • Fixed a bug with cluster definitions being reset when CHI has been updated via k8s API POST method.
  • Fixed a problem of metrics exporter not being able to scrape any managed cluster when one of clickhouse nodes is slow
  • Fix zookeeper advanced setup with empty dir by @luluz66 in #993
  • Delete duplicate return by @Abirdcfly in #987
  • Fixes #991 - fix watch namespace regex by @mcgrawia in #992
  • Address CVE-2022-32149 by @bkuschel in #1035

New Contributors

Full Changelog: release-0.19.2...release-0.20.0