- Работа с конфигурацией
- Работа с временной конфигурацией
- Параметры
- Сценарии
- Обновить основную конфигурацию кластера
- Посмотреть конфигурацию для определённого набора лейблов
- Посмотреть конфигурацию для определённого узла
- Сохранить все конфигурации локально
- Посмотреть все конфигурации локально
- Посмотреть конечную конфигурацию для определённого узла из сохраненной локально исходной конфигурации
Работа с конфигурацией
Примечание
До версии YDB CLI 2.20.0 команды ydb admin cluster config
имели формат ydb admin config
.
В этом разделе приведены команды для работы с конфигурацией кластера YDB.
-
Применение конфигурации
dynconfig.yaml
на кластер:ydb admin cluster config replace -f dynconfig.yaml
-
Проверка возможности применения конфигурации
dynconfig.yaml
на кластер (проверить все валидаторы, версия конфигурации в yaml-файле должна быть выше на 1, чем версия конфигурации кластера, имя кластера должно совпадать):ydb admin cluster config replace -f dynconfig.yaml --dry-run
-
Применение конфигурации
dynconfig.yaml
на кластер игнорируя проверку версий и кластера (версия и кластер всё равно будут перезаписаны на корректные):ydb admin cluster config replace -f dynconfig.yaml --force
-
Получение основной конфигурации кластера:
ydb admin cluster config fetch
-
Генерация всех возможных конечных конфигураций для
dynconfig.yaml
:ydb admin cluster config resolve --all -f dynconfig.yaml
-
Генерация конечной конфигурации для
dynconfig.yaml
при лейблахtenant=/Root/test
иcanary=true
:ydb admin cluster config resolve -f dynconfig.yaml --label tenant=/Root/test --label canary=true
-
Генерация конечной конфигурации для
dynconfig.yaml
для лейблов с узла 1003:ydb admin cluster config resolve -f dynconfig.yaml --node-id 100
-
Генерация файла динамической конфигурации на основе статической конфигурации на кластере:
ydb admin cluster config genereate
-
Инициализация директории с конфигурацией, используя путь до конфигурационного файла:
ydb admin node config init --config-dir <путь до директории> --from-config <путь до файла конфигурации>
-
Инициализация директории с конфигурацией, используя конфигурацию на кластере:
ydb admin node config init --config-dir <путь до директории> --seed-node <эндпоинт узла кластера>
Работа с временной конфигурацией
В этом разделе перечислены команды, которые используются для работы с временной конфигурацией.
-
Получение всех временных конфигураций кластера:
ydb admin volatile-config fetch --all --output-directory <dir>
-
Получение временной конфигурации с id 1 с кластера:
ydb admin volatile-config fetch --id 1
-
Применение временной конфигурации
volatile.yaml
на кластер:ydb admin volatile-config add -f volatile.yaml
-
Удаление временной конфигурации с id 1 и 3 на кластере:
ydb admin volatile-config drop --id 1 --id 3
-
Удаление всех временных конфигурации на кластере:
ydb admin volatile-config drop --all
Параметры
-f, --filename <filename.yaml>
— считать input из файла,-
для STDIN. Для команд принимающих n файлов (прим. resolve) можно указать несколько раз, тип файла будет определён по полю metadata--output-directory <dir>
— сдампить/порезолвить файлы в директорию--strip-metadata
— выкинуть поле metadata из вывода--all
— расширяет вывод команд до всей конфигурации (см. продвинутое конфигурирование)--allow-unknown-fields
— позволяет игнорировать неизвестные поля в конфигурации
Сценарии
Обновить основную конфигурацию кластера
# Получить конфигурацию кластера
ydb admin cluster config fetch > dynconfig.yaml
# Отредактировать конфигурацию вашим любимым редактором
vim dynconfig.yaml
# Применить конфигурацию dynconfig.yaml на кластер
ydb admin cluster config replace -f dynconfig.yaml
аналогично в одну строчку:
ydb admin cluster config fetch | yq '.config.actor_system_config.scheduler.resolution = 128' | ydb admin cluster config replace -f -
вывод команды:
OK
Посмотреть конфигурацию для определённого набора лейблов
ydb admin cluster config resolve --remote --label tenant=/Root/db1 --label canary=true
вывод команды:
---
label_sets:
- dynamic:
type: COMMON
value: true
config:
actor_system_config:
use_auto_config: true
node_type: COMPUTE
cpu_count: 4
Посмотреть конфигурацию для определённого узла
ydb admin cluster config resolve --remote --node-id <node_id>
вывод команды:
---
label_sets:
- dynamic:
type: COMMON
value: true
config:
actor_system_config:
use_auto_config: true
node_type: COMPUTE
cpu_count: 4
Сохранить все конфигурации локально
ydb admin cluster config fetch --all --output-directory <configs_dir>
ls <configs_dir>
вывод команды:
dynconfig.yaml volatile_1.yaml volatile_3.yaml
Посмотреть все конфигурации локально
ydb admin cluster config fetch --all
вывод команды:
---
metadata:
kind: main
cluster: unknown
version: 1
config:
actor_system_config:
use_auto_config: true
node_type: COMPUTE
cpu_count: 4
allowed_labels: {}
selector_config: []
---
metadata:
kind: volatile
cluster: unknown
version: 1
id: 1
# some comment example
selectors:
- description: test
selector:
tenant: /Root/db1
config:
actor_system_config: !inherit
use_auto_config: true
cpu_count: 12
Посмотреть конечную конфигурацию для определённого узла из сохраненной локально исходной конфигурации
ydb admin cluster config resolve -k <configs_dir> --node-id <node_id>
вывод команды:
---
label_sets:
- dynamic:
type: COMMON
value: true
config:
actor_system_config:
use_auto_config: true
node_type: COMPUTE
cpu_count: 4