Облачная платформаEvolution

cloudru_evolution_clickhouse_cluster (Resource)


Example Usage

resource "cloudru_evolution_clickhouse_cluster" "resource_cluster" {
# Поле name является неизменяемым. При изменении значения ресурс будет пересоздан.
name = "name-of-cluster_1"
# Поле description является неизменяемым. При изменении значения ресурс будет пересоздан.
description = "Some short text."
# Поле version является неизменяемым. При изменении значения ресурс будет пересоздан.
version = 24.3
# Поле specification_id является неизменяемым. При изменении значения ресурс будет пересоздан.
specification_id = "00000000-0000-0000-0000-000000000000"
# Поле shards является неизменяемым. При изменении значения ресурс будет пересоздан.
shards = 3
# Поле replicas является неизменяемым. При изменении значения ресурс будет пересоздан.
replicas = 2
config = {
background_pool_size = 10
background_schedule_pool_size = 10
keep_alive_timeout = 60
mark_cache_size = 5368709120
max_concurrent_queries = 100
max_connections = 100
max_partition_size_to_drop = 50000000000
max_table_size_to_drop = 50000000000
max_session_timeout = 30
uncompressed_cache_size = 2048
}
# Поле logging является неизменяемым. При изменении значения ресурс будет пересоздан.
logging = {
enabled = true
log_group_id = "00000000-0000-0000-0000-000000000000"
}
# Поле storage_gib является неизменяемым. При изменении значения ресурс будет пересоздан.
storage_gib = 40
project_id = "00000000-0000-0000-0000-000000000000"
subnet_ids = ["00000000-0000-0000-0000-000000000000"]
# Позволяет переопределить дефолтный таймаут провайдера для определенного метода. Если нужно указать бесконечный таймаут, то нужно указать например 0s, тогда таймаута не будет.
timeouts {
create = "60m"
update = "30m"
delete = "20m"
}
# Игнорировать изменения таймаутов: это предотвращает лишние обновления ресурса при смене значений таймаутов в конфигурации
# Но следует учитывать, что метод delete в ресурсе читает значение таймаута из стейта и, если его нужно изменить, то этот блок стоит закомментировать
lifecycle {
ignore_changes = [timeouts]
}
}

Schema

Required

  • name (String) Имя кластера.

  • project_id (String) Идентификатор проекта.

  • replicas (Number) Количество дополнительных реплик на шард кластера. Реальное количество хостов, участвующих в репликации, на один больше.

  • shards (Number) Колличество шардов кластера.

  • specification_id (String) Идентификатор спецификации кластера.

  • version (String) Версия кластера.

Optional

  • config (Attributes) Конфигурация кластера ClickHouse. (see below for nested schema)

  • description (String) Описание кластера.

  • logging (Attributes) Параметры интеграции с сервисом Клиентского логирования. (see below for nested schema)

  • storage_gib (Number) Размер диска в гибибайтах.

  • subnet_ids (List of String) Идентификаторы подсетей.

  • timeouts (Block, Optional) (see below for nested schema)

Read-Only

  • created_at (String) Дата создания кластера.

  • health (String) Состояние здоровья кластера.

  • hosts (List of String) Адреса кластера.

  • id (String) Идентификатор кластера.

  • status (String) Статус кластера.

Nested Schema for config

Optional:

  • background_pool_size (Number) Размер пула потоков для фоновых операций (например, слияния).

  • background_schedule_pool_size (Number) Максимальное количество потоков, которые будут использоваться для постоянного выполнения некоторых легковесных периодических операций для реплицированных таблиц, потоков Kafka и обновлений кеша DNS.

  • keep_alive_timeout (Number) Количество секунд, которое ClickHouse ждет входящих запросов перед закрытием соединения.

  • mark_cache_size (Number) Максимальный размер кеша для меток (индекс MergeTree семейства таблиц).

  • max_concurrent_queries (Number) Лимит на общее количество одновременно выполняемых запросов на сервере.

  • max_connections (Number) Максимальное количество одновременных подключений к СУБД.

  • max_partition_size_to_drop (Number) Ограничение на удаление партиций во время выполнения запроса.

  • max_session_timeout (Number) Максимальное время ожидания сеанса в секундах.

  • max_table_size_to_drop (Number) Ограничение на удаление таблиц во время выполнения запроса.

  • uncompressed_cache_size (Number) Максимальный размер кеша (в байтах) для не сжатых данных, используемых движками таблиц из семейства MergeTree.

Nested Schema for logging

Optional:

  • enabled (Boolean) Признак отправки логов кластера. По умолчанию false — логи не отправляются.

  • log_group_id (String) Идентификатор лог-группы, в которую отправляются логи. Если значение не задано, будет использоваться лог-группа проекта по умолчанию — default.

Nested Schema for timeouts

Optional:

  • create (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as «30s» or «2h45m». Valid time units are «s» (seconds), «m» (minutes), «h» (hours).

  • delete (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as «30s» or «2h45m». Valid time units are «s» (seconds), «m» (minutes), «h» (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.

  • update (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as «30s» or «2h45m». Valid time units are «s» (seconds), «m» (minutes), «h» (hours).

Зависимости

Log group ID

Можно получить через консоль → раздел Мониторинг и логи → Лог-группы . В списке лог-групп будет отображаться UUID каждой.

Specification ID

Нужное значение для идентификатора спецификации (specification_id) можно получить из поля specifications.id с помощью датасорса cloudru_evolution_clickhouse_specification_collection.