From 980185ca2b90169665c06cd61cbb8a30e99b8ad0 Mon Sep 17 00:00:00 2001 From: Nick Volynkin Date: Mon, 16 Jun 2025 08:32:28 +0300 Subject: [PATCH] [docs] Review the Clickhouse app docs Signed-off-by: Nick Volynkin --- packages/apps/clickhouse/README.md | 80 +++++++++++++-------- packages/apps/clickhouse/values.schema.json | 28 ++++---- packages/apps/clickhouse/values.yaml | 30 ++++---- 3 files changed, 79 insertions(+), 59 deletions(-) diff --git a/packages/apps/clickhouse/README.md b/packages/apps/clickhouse/README.md index 145882be..890d0d93 100644 --- a/packages/apps/clickhouse/README.md +++ b/packages/apps/clickhouse/README.md @@ -1,32 +1,35 @@ # Managed Clickhouse Service +ClickHouse is an open source high-performance and column-oriented SQL database management system (DBMS). +It is used for online analytical processing (OLAP). +Cozystack platform uses Altinity operator to provide ClickHouse. + ### How to restore backup: -find snapshot: -``` -restic -r s3:s3.example.org/clickhouse-backups/table_name snapshots -``` +1. Find a snapshot: + ``` + restic -r s3:s3.example.org/clickhouse-backups/table_name snapshots + ``` -restore: -``` -restic -r s3:s3.example.org/clickhouse-backups/table_name restore latest --target /tmp/ -``` +2. Restore it: + ``` + restic -r s3:s3.example.org/clickhouse-backups/table_name restore latest --target /tmp/ + ``` -more details: -- https://itnext.io/restic-effective-backup-from-stdin-4bc1e8f083c1 +For more details, read [Restic: Effective Backup from Stdin](https://blog.aenix.io/restic-effective-backup-from-stdin-4bc1e8f083c1). ## Parameters ### Common parameters -| Name | Description | Value | -| ---------------- | ----------------------------------- | ------ | -| `size` | Persistent Volume size | `10Gi` | -| `logStorageSize` | Persistent Volume for logs size | `2Gi` | -| `shards` | Number of Clickhouse replicas | `1` | -| `replicas` | Number of Clickhouse shards | `2` | -| `storageClass` | StorageClass used to store the data | `""` | -| `logTTL` | for query_log and query_thread_log | `15` | +| Name | Description | Value | +| ---------------- | -------------------------------------------------------- | ------ | +| `size` | Size of Persistent Volume for data | `10Gi` | +| `logStorageSize` | Size of Persistent Volume for logs | `2Gi` | +| `shards` | Number of Clickhouse shards | `1` | +| `replicas` | Number of Clickhouse replicas | `2` | +| `storageClass` | StorageClass used to store the data | `""` | +| `logTTL` | TTL (expiration time) for query_log and query_thread_log | `15` | ### Configuration parameters @@ -36,15 +39,32 @@ more details: ### Backup parameters -| Name | Description | Value | -| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | -| `backup.enabled` | Enable pereiodic backups | `false` | -| `backup.s3Region` | The AWS S3 region where backups are stored | `us-east-1` | -| `backup.s3Bucket` | The S3 bucket used for storing backups | `s3.example.org/clickhouse-backups` | -| `backup.schedule` | Cron schedule for automated backups | `0 2 * * *` | -| `backup.cleanupStrategy` | The strategy for cleaning up old backups | `--keep-last=3 --keep-daily=3 --keep-within-weekly=1m` | -| `backup.s3AccessKey` | The access key for S3, used for authentication | `oobaiRus9pah8PhohL1ThaeTa4UVa7gu` | -| `backup.s3SecretKey` | The secret key for S3, used for authentication | `ju3eum4dekeich9ahM1te8waeGai0oog` | -| `backup.resticPassword` | The password for Restic backup encryption | `ChaXoveekoh6eigh4siesheeda2quai0` | -| `resources` | Resources | `{}` | -| `resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production). | `nano` | +| Name | Description | Value | +| ------------------------ | --------------------------------------------------------------------------- | ------------------------------------------------------ | +| `backup.enabled` | Enable periodic backups | `false` | +| `backup.s3Region` | AWS S3 region where backups are stored | `us-east-1` | +| `backup.s3Bucket` | S3 bucket used for storing backups | `s3.example.org/clickhouse-backups` | +| `backup.schedule` | Cron schedule for automated backups | `0 2 * * *` | +| `backup.cleanupStrategy` | Retention strategy for cleaning up old backups | `--keep-last=3 --keep-daily=3 --keep-within-weekly=1m` | +| `backup.s3AccessKey` | Access key for S3, used for authentication | `oobaiRus9pah8PhohL1ThaeTa4UVa7gu` | +| `backup.s3SecretKey` | Secret key for S3, used for authentication | `ju3eum4dekeich9ahM1te8waeGai0oog` | +| `backup.resticPassword` | Password for Restic backup encryption | `ChaXoveekoh6eigh4siesheeda2quai0` | +| `resources` | Explicit CPU/memory resource requests and limits for the Clickhouse service | `{}` | +| `resourcesPreset` | Use a common resources preset when `resources` is not set explicitly. | `nano` | + + +In production environments, it's recommended to set `resources` explicitly. +Example of `resources`: + +```yaml +resources: + limits: + cpu: 4000m + memory: 4Gi + requests: + cpu: 100m + memory: 512Mi +``` + +Allowed values for `resourcesPreset` are `none`, `nano`, `micro`, `small`, `medium`, `large`, `xlarge`, `2xlarge`. +This value is ignored if `resources` value is set. diff --git a/packages/apps/clickhouse/values.schema.json b/packages/apps/clickhouse/values.schema.json index afeeda1e..c08938be 100644 --- a/packages/apps/clickhouse/values.schema.json +++ b/packages/apps/clickhouse/values.schema.json @@ -4,22 +4,22 @@ "properties": { "size": { "type": "string", - "description": "Persistent Volume size", + "description": "Size of Persistent Volume for data", "default": "10Gi" }, "logStorageSize": { "type": "string", - "description": "Persistent Volume for logs size", + "description": "Size of Persistent Volume for logs", "default": "2Gi" }, "shards": { "type": "number", - "description": "Number of Clickhouse replicas", + "description": "Number of Clickhouse shards", "default": 1 }, "replicas": { "type": "number", - "description": "Number of Clickhouse shards", + "description": "Number of Clickhouse replicas", "default": 2 }, "storageClass": { @@ -29,7 +29,7 @@ }, "logTTL": { "type": "number", - "description": "for query_log and query_thread_log", + "description": "TTL (expiration time) for query_log and query_thread_log", "default": 15 }, "backup": { @@ -37,17 +37,17 @@ "properties": { "enabled": { "type": "boolean", - "description": "Enable pereiodic backups", + "description": "Enable periodic backups", "default": false }, "s3Region": { "type": "string", - "description": "The AWS S3 region where backups are stored", + "description": "AWS S3 region where backups are stored", "default": "us-east-1" }, "s3Bucket": { "type": "string", - "description": "The S3 bucket used for storing backups", + "description": "S3 bucket used for storing backups", "default": "s3.example.org/clickhouse-backups" }, "schedule": { @@ -57,34 +57,34 @@ }, "cleanupStrategy": { "type": "string", - "description": "The strategy for cleaning up old backups", + "description": "Retention strategy for cleaning up old backups", "default": "--keep-last=3 --keep-daily=3 --keep-within-weekly=1m" }, "s3AccessKey": { "type": "string", - "description": "The access key for S3, used for authentication", + "description": "Access key for S3, used for authentication", "default": "oobaiRus9pah8PhohL1ThaeTa4UVa7gu" }, "s3SecretKey": { "type": "string", - "description": "The secret key for S3, used for authentication", + "description": "Secret key for S3, used for authentication", "default": "ju3eum4dekeich9ahM1te8waeGai0oog" }, "resticPassword": { "type": "string", - "description": "The password for Restic backup encryption", + "description": "Password for Restic backup encryption", "default": "ChaXoveekoh6eigh4siesheeda2quai0" } } }, "resources": { "type": "object", - "description": "Resources", + "description": "Explicit CPU/memory resource requests and limits for the Clickhouse service", "default": {} }, "resourcesPreset": { "type": "string", - "description": "Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).", + "description": "Use a common resources preset when `resources` is not set explicitly.", "default": "nano" } } diff --git a/packages/apps/clickhouse/values.yaml b/packages/apps/clickhouse/values.yaml index 721f15dd..442e5800 100644 --- a/packages/apps/clickhouse/values.yaml +++ b/packages/apps/clickhouse/values.yaml @@ -1,11 +1,11 @@ ## @section Common parameters -## @param size Persistent Volume size -## @param logStorageSize Persistent Volume for logs size -## @param shards Number of Clickhouse replicas -## @param replicas Number of Clickhouse shards +## @param size Size of Persistent Volume for data +## @param logStorageSize Size of Persistent Volume for logs +## @param shards Number of Clickhouse shards +## @param replicas Number of Clickhouse replicas ## @param storageClass StorageClass used to store the data -## @param logTTL for query_log and query_thread_log +## @param logTTL TTL (expiration time) for query_log and query_thread_log ## size: 10Gi logStorageSize: 2Gi @@ -29,14 +29,14 @@ users: {} ## @section Backup parameters -## @param backup.enabled Enable pereiodic backups -## @param backup.s3Region The AWS S3 region where backups are stored -## @param backup.s3Bucket The S3 bucket used for storing backups +## @param backup.enabled Enable periodic backups +## @param backup.s3Region AWS S3 region where backups are stored +## @param backup.s3Bucket S3 bucket used for storing backups ## @param backup.schedule Cron schedule for automated backups -## @param backup.cleanupStrategy The strategy for cleaning up old backups -## @param backup.s3AccessKey The access key for S3, used for authentication -## @param backup.s3SecretKey The secret key for S3, used for authentication -## @param backup.resticPassword The password for Restic backup encryption +## @param backup.cleanupStrategy Retention strategy for cleaning up old backups +## @param backup.s3AccessKey Access key for S3, used for authentication +## @param backup.s3SecretKey Secret key for S3, used for authentication +## @param backup.resticPassword Password for Restic backup encryption backup: enabled: false s3Region: us-east-1 @@ -47,7 +47,7 @@ backup: s3SecretKey: ju3eum4dekeich9ahM1te8waeGai0oog resticPassword: ChaXoveekoh6eigh4siesheeda2quai0 -## @param resources Resources +## @param resources Explicit CPU/memory resource requests and limits for the Clickhouse service resources: {} # resources: # limits: @@ -56,6 +56,6 @@ resources: {} # requests: # cpu: 100m # memory: 512Mi - -## @param resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production). + +## @param resourcesPreset Use a common resources preset when `resources` is not set explicitly. resourcesPreset: "nano"