Resource nubes_clickhouse · v1.0.0 · Service ID: 120 · Service Name: ClickHouse¶
Manual · Create params · Modify params · Output params · Operations · Example
Минимальный пример (только обязательные параметры)¶
terraform {
required_providers {
nubes = {
source = "tf-registry.containerk8s.services.ngcloud.ru/nubes/nubes"
version = "1.0.0"
}
}
}
provider "nubes" {
api_token = "***"
api_endpoint = "https://lk-api-gateway.ngcloud.ru/api/v1/svc"
}
resource "nubes_clickhouse" "baza" {
resource_name = "my-clickhouse"
startup_configuration {
resource_realm = "k8s-4-ext-nubes-ru" # Кластер Kubernetes, на котором будет развернут экземпляр
}
cluster_configuration {
cpu = 1000 # Указывается в Milicores `1000` Mili == `1` Ядро
memory = 2048 # Указывается в Megabytes
replicas = 1
shards = 1 # **Шард** - это часть данных, разделенная на разные узлы (серверы) для горизонтального масштабирования и обработки больших объемов информации. **Реплика** - это точная копия данных внутри одного шарда
disk = 10 # Указывается в GIGAbytes
}
access_configuration {
master_ip_space = "TODO" # Из какого Ip-Space резервировать внешний IP Список предоставляется из Организации, в котором развёрнута ресурсная платформа
master_access_list = jsonencode([]) # Необходимо настраивать, когда зарезервирован внешний адрес Если передан пустой массив, доступ выделяется всем
}
clickhouse_keeper_configuration {
cpu = 500 # Указывается в Milicores `1000` Mili == `1` Ядро
memory = 512 # Указывается в Megabytes
replicas = 0 # Если указан 0, то инстансы ClickHouse Keeper развёрнуты не будут
}
clickhouse_configuration {
version = 25.10
}
backup_configuration {
s3_uid = "TODO" # Экземпляр S3 обязателен
retain = 7
schedule = "0 0 * * *"
}
autoscale_configuration {
enabled = false # Включает автоскейлинг PV. При включении параметра необходимо настроить autoScalePercentage и autoScaleTechWindow. Алерт при срабатывании вызывает modify у текущей услуги
schedule = 0 # Требует включения autoScale. Окно обновления (пока не реализовано). Указывается час в виде Integer (0 / 5 / 12 / 23)
quota = 100 # До какого размера возможно увеличивать диск, когда включен Autoscale
percent = 10 # Требует включения autoScale. Позволяет указать в процентах расширение от текущего макс объема Минимальный размер на который расширяется - **1Gb**
}
}
Полный пример (все параметры, включая значения по умолчанию)
terraform {
required_providers {
nubes = {
source = "tf-registry.containerk8s.services.ngcloud.ru/nubes/nubes"
version = "1.0.0"
}
}
}
# Токен доступа api_token к Nubes API — замените на реальный.
provider "nubes" {
api_token = "token_***"
api_endpoint = "https://lk-api-gateway.ngcloud.ru/api/v1/svc"
}
resource "nubes_clickhouse" "baza" {
resource_name = "TODO"
startup_configuration {
resource_realm = "k8s-4-ext-nubes-ru" # Кластер Kubernetes, на котором будет развернут экземпляр
}
cluster_configuration {
cpu = 1000 # Указывается в Milicores `1000` Mili == `1` Ядро
memory = 2048 # Указывается в Megabytes
replicas = 1
shards = 1 # **Шард** - это часть данных, разделенная на разные узлы (серверы) для горизонтального масштабирования и обработки больших объемов информации. **Реплика** - это точная копия данных внутри одного шарда
disk = 10 # Указывается в GIGAbytes
}
access_configuration {
master_ip_space = "TODO" # Из какого Ip-Space резервировать внешний IP Список предоставляется из Организации, в котором развёрнута ресурсная платформа
master_access_list = jsonencode([]) # Необходимо настраивать, когда зарезервирован внешний адрес Если передан пустой массив, доступ выделяется всем
}
clickhouse_keeper_configuration {
cpu = 500 # Указывается в Milicores `1000` Mili == `1` Ядро
memory = 512 # Указывается в Megabytes
replicas = 0 # Если указан 0, то инстансы ClickHouse Keeper развёрнуты не будут
}
clickhouse_configuration {
version = 25.10
}
backup_configuration {
s3_uid = "TODO" # Экземпляр S3 обязателен
retain = 7
schedule = "0 0 * * *"
}
autoscale_configuration {
enabled = false # Включает автоскейлинг PV. При включении параметра необходимо настроить autoScalePercentage и autoScaleTechWindow. Алерт при срабатывании вызывает modify у текущей услуги
schedule = 0 # Требует включения autoScale. Окно обновления (пока не реализовано). Указывается час в виде Integer (0 / 5 / 12 / 23)
quota = 100 # До какого размера возможно увеличивать диск, когда включен Autoscale
percent = 10 # Требует включения autoScale. Позволяет указать в процентах расширение от текущего макс объема Минимальный размер на который расширяется - **1Gb**
}
}
Использование выходных данных¶
# Выходные параметры можно использовать как
nubes_clickhouse.baza.state_params["имя_ключа"]
nubes_clickhouse.baza.state_out["имя_ключа"]
nubes_clickhouse.baza.state_params_flat["имя_ключа"]
nubes_clickhouse.baza.state_out_flat["имя_ключа"]
nubes_clickhouse.baza.vault_secrets["имя_ключа"]
nubes_clickhouse.baza.vault_url
nubes_clickhouse.baza.vault_user_path
nubes_clickhouse.baza.vault_fields