Обновление конфигурации кластеров YDB, развёрнутых с Ansible
Во время первоначального развёртывания Ansible playbook использует предоставленный конфигурационный файл для создания начальной конфигурации кластера. Технически, он генерирует два варианта конфигурационного файла на основе исходного и размещает их на всех хостах через механизм Ansible для копирования файлов между серверами. В этой статье рассматриваются доступные способы для изменения конфигурации кластера после первоначального развёртывания.
Обновление конфигурации через Ansible playbook
В репозитории ydb-ansible есть playbook под названием ydb_platform.ydb.update_config
, который можно использовать для обновления конфигурации кластера YDB. Перейдите в ту же директорию, которая использовалась для первоначального развёртывания кластера, отредактируйте файл files/config.yaml
по необходимости и затем запустите этот playbook:
ansible-playbook ydb_platform.ydb.update_config
Этот playbook развернёт новую версию конфигурационных файлов и затем выполнит постепенную перезагрузку кластера.
Фильтрация по типу узла
Задачи в playbook ydb_platform.ydb.update_config
помечены типами узлов, поэтому вы можете использовать функциональность тегов Ansible для фильтрации узлов по их типу.
Эти две команды эквивалентны и изменят конфигурацию всех узлов хранения:
ansible-playbook ydb_platform.ydb.update_config --tags storage
ansible-playbook ydb_platform.ydb.update_config --tags static
Эти две команды эквивалентны и изменят конфигурацию всех узлов баз данных:
ansible-playbook ydb_platform.ydb.update_config --tags database
ansible-playbook ydb_platform.ydb.update_config --tags dynamic
Пропуск перезагрузки
Также есть тег no_restart
, который позволяет только обновить конфигурационные файлы и пропустить перезагрузку кластера. Это может быть полезно, если кластер будет перезагружен позже вручную или в рамках других задач по обслуживанию. Пример запуска:
ansible-playbook ydb_platform.ydb.update_config --tags no_restart
Динамическая конфигурация
У YDB есть собственный механизм управления конфигурацией под названием динамическая конфигурация. Он не зависит от выбранного метода развёртывания кластера и позволяет гибко настраивать кластер даже в мультиарендных средах.
Рассмотрите возможность перехода на динамическую конфигурацию, если ручное развёртывание конфигурационных файлов с полной перезагрузкой при любых изменениях больше не приемлемо.