Примеры использования Bolt
Эта страница демонстрирует примеры использования Bolt для администрирования набора серверов MariaDB. Bolt — это инструмент, являющийся частью экосистемы Puppet.
Для получения информации об установке Bolt, см. Установку Bolt в документации Bolt.
Файлы инвентаризации
Самый простой способ вызвать Bolt и дать ему инструкции для выполнения действий на удалённых целевых узлах выглядит следующим образом:
bolt ... --nodes 100.100.100.100,200.200.200.200,300,300,300,300
Однако для сложных установок обычно лучше использовать файл инвентаризации. Пример:
targets:
- uri: maria-1.example.com
name: maria_1
alias: mariadb_main
...
Таким образом, можно будет ссылаться на целевые узлы по имени или псевдониму.
Мы также можем определять группы, а затем членов этих групп. Например:
groups:
- name: mariadb-staging
targets:
- uri: maria-1.example.com
name: maria_1
- uri: maria-2.example.com
name: maria_2
- name: mariadb-production
targets:
...
...
С инвентаризацией такого типа можно будет запускать действия Bolt на всех целевых узлах, являющихся членами группы:
bolt ... --nodes mariadb-staging
В примерах на остальной части страницы параметр --targets будет указан таким образом для простоты: --targets <targets>.
Выполнение команд на целевых узлах
Самый простой способ выполнить команду удалённо выглядит следующим образом:
bolt command run 'mariadb-admin start-all-slaves' --targets <targets>
Копирование файлов
Для копирования файла или целого каталога на целевые узлы:
bolt file upload /path/to/source /path/to/destination --targets <targets>
Для копирования файла или целого каталога с целевых узлов на локальный компьютер:
bolt file download /path/to/source /path/to/destination --targets <targets>
Запуск скриптов на целевых узлах
Мы можем использовать Bolt для запуска локального скрипта на удалённых целевых узлах. Bolt временно скопирует скрипт на целевые узлы, выполнит его и удалит с целевых узлов. Это удобно для скриптов, которые предназначены для однократного выполнения.
bolt script run rotate_logs.sh --targets <targets>
Выполнение задач на целевых узлах
Задачи Puppet не всегда так мощны, как пользовательские скрипты, но они проще и многие из них идемпотентны. Следующая задача останавливает репликацию MariaDB:
bolt task run mysql::sql --targets <targets> sql="STOP REPLICA"
Применение кода Puppet на целевых узлах
Также можно применять целые манифесты или части кода Puppet (ресурсы) на целевых узлах.
Для применения манифеста:
bolt apply manifests/server.pp --targets <targets>
Для применения описания ресурса:
bolt apply --execute "file { '/etc/mysql/my.cnf': ensure => present }" --targets <targets>
Ресурсы и ссылки Bolt
Дополнительную информацию о концепциях, объяснённых на этой странице, можно найти в документации Bolt:
- Файлы инвентаризации в документации Bolt.
- Применение кода Puppet в документации Bolt.
Контент первоначально предоставлен Vettabase Ltd.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/bolt-examples/