Как установить Puppet Bolt для автоматизации задач Sysadmin?

Установка Puppet Bolt на Ubuntu…


Кукольный болт это инструмент с открытым исходным кодом, который широко используется для автоматизации ручной работы.

Bolt основан на Ruby и его инструменте командной строки, который получает исполняемые сценарии, команды на локальном и удаленном сервере через SSH и WinRM. Это помогает Sysadmin управлять несколькими серверами разными способами..

  • Управлять обновлениями
  • Установка программы
  • Чтение журналов
  • Остановить или запустить службы
  • Выполнение команды

Хорошей новостью является то, что вам не нужно устанавливать какой-либо агент на серверы. Это без агента.

необходимое условие

Следующий пример на Ubuntu, поэтому вам нужна виртуальная машина Ubuntu с доступом sudo к root.

Обновление системы

Мы настоятельно рекомендуем вам обновить все доступные репозиторий и пакеты перед установкой любого нового пакета в системе. Выполните следующую команду, и она сделает всю работу за вас.

sudo apt-get update

Установка марионеточного болта

Поскольку он не агентный, вам не нужно устанавливать его на каждый сервер. Вместо этого, только на одном сервере, который будет выступать в качестве главного, который можно использовать для подключения к удаленным серверам. Bolt – это мультиплатформенный инструмент, поэтому вы можете установить его на своей любимой ОС.

  • Windows
  • Macos
  • RHEL
  • CentOS
  • мягкая фетровая шляпа
  • Debian
  • Ubuntu

Обратитесь к официальный сайт для последней доступной версии. Давайте установим это на Ubuntu.

Запустите следующую команду, чтобы получить пакет.

sudo wget https://apt.puppet.com/puppet6-release-bionic.deb

Затем установите загруженный выше пакет с помощью команды диспетчера пакетов Debian..

sudo dpkg -i puppet6-release-bionic.deb

Снова обновите систему, используя следующую команду.

sudo apt-get update

Наконец, выполните следующую команду, чтобы установить болт.

sudo apt-get устанавливает кукольный болт

У тебя есть Успешно установлен кукольный болт на вашем сервере.

Это необходимо сделать на всех серверах, которыми вы хотите управлять через Bolt..

Как упоминалось ранее, Bolt подключается к другому серверу через ключ SSH, поэтому я предполагаю, что вы уже обменялись ключами между серверами. Если нет, вы можете обратиться к этому руководству для настройки обмена ключами SSH..

Давайте подключимся к удаленным серверам и запустим команды bolt.

Чтобы запустить команду на одном узле, используйте следующую команду.

команда запуска болта –nodes

Пожалуйста, замените КОМАНДУ командой, которую вы хотите выполнить, а УЗЕЛ – именем хоста или IP удаленного сервера. Точно так же вы можете запустить команду на нескольких узлах.

команда запуска болта -n

Если вам нужно добавить аутентификацию по паролю в команду, вы можете добавить ее, используя флаги.

команда болта выполнить -n -u -p

Предположим, вы хотите увидеть, как долго работает система, и вам нужно будет использовать команду `uptime`, например:

время работы команды bolt – узлы 35.185.68.71,35.231.9.135

Вы должны увидеть следующий вывод.

[Электронная почта защищена]: ~ $ bolt run run up –nodes 35.185.68.71,35.231.9.135
Начато 35.185.68.71…
Начато 35.231.9.135…
Закончено 35.231.9.135:
STDOUT:
04:57:48 до 7 мин., 0 пользователей, средняя загрузка: 0,00, 0,03, 0,02
Закончено 35.185.68.71:
STDOUT:
04:57:48 до 9 минут, 0 пользователей, средняя нагрузка: 0,00, 0,00, 0,00
Успешно на 2 узлах: 35.185.68.71,35.231.9.135
Пробежал по 2 узлам за 5,96 секунды

Возможно, вы захотите запустить какую-нибудь команду, содержащую пробелы, поэтому вам нужно будет обернуть команду в одинарные кавычки:

[Электронная почта защищена]: ~ $ bolt команда run ‘echo $ HOME’ –nodes 35.185.68.71,35.231.9.135
Начато 35.185.68.71…
Начато 35.231.9.135…
Закончено 35.231.9.135:
STDOUT:
/ Главная / Sajid
Закончено 35.185.68.71:
STDOUT:
/ Главная / Sajid
Успешно на 2 узлах: 35.185.68.71,35.231.9.135
Пробежал по 2 узлам за 6,11 секунды

Запуск скриптов

У всех нас есть набор сценариев, которые мы используем регулярно.

Bolt позволяет легко использовать эти сценарии без каких-либо изменений и запускать их на еще большем количестве узлов одновременно. Все, что вам нужно сделать, это указать имя и путь скрипта, который вы хотите запустить.

сценарий запуска болта –nodes
Выполнить сценарий болта /home/sajid/Desktop/samplescript.sh –nodes 35.185.68.71,35.231.9.135

Вы должны увидеть что-то похожее на это:

[Электронная почта защищена]: / $ bolt script run /home/sajid/Desktop/samplescript.sh –nodes 35.185.68.71,35.231.9.135
Начато 35.185.68.71…
Начато 35.231.9.135…
Закончено 35.231.9.135:
STDOUT:
Привет мир
Закончено 35.185.68.71:
STDOUT:
Привет мир
Успешно на 2 узлах: 35.185.68.71,35.231.9.135
Пробежал по 2 узлам за 15,18 секунды

Вы можете запускать сценарии на любом языке, если в удаленной системе установлен соответствующий переводчик..

Автоматизация с заданием

Задача – это набор действий, которые вы хотите запустить на удаленных машинах..

Задачи могут быть написаны на любом языке, который выполняется на удаленном узле. Задачи облегчают повторное использование и совместное использование сценариев и помогают достичь автоматизации. Вы можете скачать некоторые существующие задачи из Puppet Forge и загрузить свои задачи туда в соответствии с вашими потребностями.

Например, если вы хотите проверить состояние пакета vim, вы можете использовать следующую команду.

Пакет запуска задачи Bolt Action = имя состояния = vim – узлы 35.185.68.71,35.231.9.135

Вы увидите вывод, похожий на этот:

[Электронная почта защищена]: ~ $ bolt action run package action = имя состояния = vim –nodes 35.185.68.71,35.231.9.135
Начато 35.185.68.71…
Начато 35.231.9.135…
Закончено 35.185.68.71:
{
"положение дел": "установить нормально установлен",
"версия": "2: 7.4.1689-3ubuntu1.3"
}
Закончено 35.231.9.135:
{
"положение дел": "установить нормально установлен",
"версия": "2: 7.4.1689-3ubuntu1.3"
}
Успешно на 2 узлах: 35.185.68.71,35.231.9.135
Пробежал по 2 узлам за 19,15 секунды

Если вы не нашли установленный пакет vim, вы можете установить его с помощью следующей команды.

Пакет запуска задачи bolt action = install name = vim –nodes 35.185.68.71,35.231.9.135

Вы можете запустить план, чтобы настроить nodejs и подключить его к вашему балансировщику нагрузки, вы можете сделать это, комбинируя Puppet Bolt с целевым узлом, на котором уже установлен Bolt.

план болтов запустить nodejs :: myplan load_balancer = lb.myorg.com

Вы можете использовать кукольный болт для копирования файлов на удаленные узлы. Вы можете просто загрузить файл или каталог на удаленный узел, используя команду `bolt file upload`. Все, что вам нужно сделать, это указать путь к файлу на локальном компьютере и пункт назначения на удаленном узле..

загрузка файла болта –nodes

Вы можете загрузить файл на несколько удаленных узлов одновременно следующим образом:

загрузка файла болта sample_file.txt /tmp/remotesample_file.txt –nodes 35.185.68.71,35.231.9.135

Много возможностей, как вы можете видеть.

Создание файла инвентаризации

Болт позволяет вам создать файл инвентаря, в котором будет храниться информация о ваших узлах, задачах и конфигурации. Вы можете указать разные узлы в группе, и файл инвентаризации по умолчанию хранится в файле inventory.yaml в каталоге проекта. Вот пример создания файла инвентаря.


# Пример файла инвентаризации
группы:
– имя: группа узлов
узлы:
– node1
– node2
– node3
конфигурации:
SSH:
проверка ключа хоста: ложь
ssl: false

Вы можете заменить эти node1, node2, node3 на ваше фактическое имя домена узла или IP-адрес вашего узла. Теперь вы можете добавить этот файл инвентаря в команды болта для выполнения задач на указанных узлах.

команда запуска болта –inventoryfile ./inventory.yaml

Вывод

Я надеюсь, что к настоящему времени у вас есть представление о том, что такое Bolt и как он может помочь вам в автоматизации. Вы также можете быть заинтересованы в изучении Кукольный.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map