Что такое Ansible pre_tasks? Как обновить ОС, установить Python и установить JRE на удаленном хосте [Linux]?

Опубликовано: 2019-05-10

Что такое Ansible pre_tasks? Как обновить ОС, установить Python и установить JDK на удаленный хост

Что такое pre_tasks в Ansible?

pre_tasks — это задача, которую Ansible выполняет перед выполнением любых tasks , упомянутых в файле .yml .

Рассмотрим этот сценарий. Вы подготовили новый экземпляр в облаке Amazon EC2 или Google Cloud . Первое, что вам нужно сделать, это установить обновления ОС. Затем установите последнюю версию Python, установите Java и так далее.

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

В этом уроке мы подробно рассмотрим, как выполнять предварительные задачи с использованием тега Ansible pre_task .

Что такое Ansible pre_tasks? Обновить ОС, установить Python и установить JRE на удаленном хосте?

В этом уроке мы будем следовать приведенному ниже сценарию:

  1. создайте файл crunchify-hosts и добавьте IP, на котором мы будем выполнять pre_task.
  2. создайте файл crunchify-install-python-java.yml , который является доступной книгой воспроизведения.
    • pre_task: установить python-simplejson
    • pre_task: установить python-минимум
    • pre_task: установить обновление системы
    • pre_task: установить последнюю версию JRE
  3. Получить версию Python
  4. Получить Java-версию
  5. Распечатать все результаты отладки
  6. запустите команду ansible-playbook -i ./crunchify-hosts crunchify-install-python-java.yml, которая выполнит все наши задачи

файл crunchify-hosts

Здесь, как вы видите, я использую файл crunchify.pem для аутентификации без пароля. Я могу просто подключиться к моему хосту без запроса пароля.

файл crunchify-install-python-java.yml

Мы используем ключевое слово register в Ansible для регистрации переменной. Он хранит возвращаемое значение raw задач.

С помощью debug и stdout_lines вы можете распечатать результат в командной строке.

Команда выполнения:

ansible-playbook -i ./crunchify-hosts crunchify-install-python-java.yml

Доступный вывод:

Вот и все.

Как видите, в этом руководстве мы устанавливаем обновления Python, Java и системы на удаленном хосте. Кроме того, возвращенный результат обратно в окно терминала Mac.

Что дальше?

Попробуйте просмотреть учебник о том, как скопировать файл, каталог или сценарий с локального хоста на удаленный хост.