Временные конфигурации
Важно
Данная статья описывает работу с кластерами YDB, использующими конфигурацию V1. Конфигурация V1 является основным способом конфигурирования кластеров под управлением YDB версии ниже v25.1. Начиная с версии v25.1, YDB поддерживает конфигурацию V2, которая является рекомендуемым способом конфигурирования для кластеров YDB версии v25.1 и выше. Для кластеров, использующих конфигурацию V2, данная инструкция не применима.
Если ваш кластер уже обновлён до версии v25.1 или выше, но ещё использует конфигурацию V1, рекомендуется запланировать миграцию на конфигурацию V2, так как поддержка конфигурации V1 будет прекращена в будущих версиях YDB.
Временные конфигурации — это специальный вид конфигураций, которые дополняют динамическую и при этом не являются персистентными. Т.е. данные конфигурации сбрасываются при переезде или рестарте таблетки Console, а так же при обновлении основной конфигурации.
Основные сценарии использования:
- временное изменение конфигурации для отладки или тестирования;
- пробное включение потенциально опасных настроек. В случае падения или рестарта кластера данные настройки будут автоматически отключены.
Данные конфигурации добавляются в конец набора селекторов, синтаксис описания идентичен синтаксису селекторов.
# Получить все временные конфигурации загруженные на кластер
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 и id=3 на кластере
ydb admin volatile-config drop --id 1 --id 3
# Удалить все временные конфигурации на кластере
ydb admin volatile-config drop --all
Пример работы с временной конфигурацией
Временное включение настроек журналирования компонента blobstorage
в DEBUG
на узле host1.example.com
:
# Запрос текущих метаданных, чтобы сформировать корректный заголовок временной конфигурации
$ ydb admin config fetch --all
---
kind: MainConfig
cluster: "example-cluster-name"
version: 2
config:
# ...
---
kind: VolatileConfig
cluster: "example-cluster-name"
version: 2
id: 1
selector_config:
# ...
# Загрузка конфигурации с версией 2, именем кластера example-cluster-name и идентификатором 2
$ ydb admin volatile-config add -f - <<<EOF
metadata:
kind: VolatileConfig
cluster: "example-cluster-name"
version: 2
id: 2
selector_config:
- description: Set blobstorage logging level to DEBUG
selector:
node_host: host1.example.com
config:
log_config: !inherit
entry: !inherit_key:component
- component: BLOBSTORAGE
level: 8
EOF
# ...
# анализ журнала
# ...
# Удаление конфигурации
$ ydb admin volatile-config drop --id 2