Задача:

  • Настройка узла управления Ansible
    • Настройте узел управления на базе CLI1
      • Установочные файлы находятся в addons_final.iso
      • Вам доступна документация на сайте https://docs.ansible.com/
    • Сформируйте инвентарь:
      • В каталоге /opt/ansible создайте файл инвентаря с именем hosts
        • Настройте запуск данного инвентаря по умолчанию
      • Сформируйте группы серверов
        • RTR1 – включается маршрутизатор RTR1
        • RTR2 – включается маршрутизатор RTR2
        • Router – включаются группы серверов RTR1 и RTR2
        • SRV1 – включается сервер SRV1
        • SRV2 – включается сервер SRV2
        • Server – включаются группы серверов SRV1 и SRV2
      • Реализуйте доступ к серверам с учетом настроек SSH
        • Подключение осуществляется по пользователю sshuser
        • Подключение осуществляется по ключу
        • Проверка ключей при подключении по SSH должна быть отключена
        • Для исключения предупреждений укажите корректный интерпретатор Python
        • Все параметры должны быть размещены в папке group_vars в качестве переменных
        • Выполните тестовые подключения, добавьте хосты в список известных.
      • Выполните тестовую команду “ping” средствами ansible
        • Убедитесь, что все сервера отвечают “pong” без предупреждающих сообщений
        • Убедитесь, что команды ansible выполняются от пользователя user без использования sudo
    • Создайте структуру каталогов
      • В каталоге /opt/ansible создайте папку project_1
        • В папке project_1 создайте файл playbook_1.yml
        • В папке project_1 создайте файл playbook_2.yml
      • В каталоге /opt/ansible создайте папку project_2
        • В папке project_2 создайте файл playbook_1.yml
      • В каталоге /opt/ansible создайте папку project_3
        • В папке project_3 создайте файл playbook_1.yml
        • В папке project_3 создайте файл playbook_2.yml
      • В каталоге /opt/ansible создайте папку project_4
        • В папке project_4 создайте файл playbook_1.yml
        • В папке project_4 создайте файл playbook_2.yml
      • В каталоге /opt/ansible создайте папку project_5
        • В папке project_5 создайте файл playbook_1.yml
        • В папке project_5 создайте файл playbook_2.yml

Вариант реализации:

CLI1:

  • Устанавливаем ansible:
apt-get install -y ansible
  • Создаём директорию для работы с ansible:
    • из под пользователя root
mkdir /opt/ansible
  • Назначаем владельца для директории ansible:
    • из под пользователя root
chown -R user:user /opt/ansible
  • Редактируем конфигурационный файл /etc/ansible/ansible.cfg:
    • из под пользователя root
vim /etc/ansible/ansible.cfg
    • вносим следующую информацию:
      • указываем, что стоит по умолчанию использовать инвентарный файл из каталога /opt/ansible;
      • игнорируем fingerprint для первого подключёния по ssh

  • Описываем инвентарный файл в /opt/ansible/hosts:
    • из под пользователя sshuser
vim /opt/ansible/hosts
    • содержимое инвентарного файла:

  • Переходим в директорию для работы с ansible:
cd /opt/ansible
  • Создадим директорию для хранения переменных:
mkdir group_vars
  • Создаём и описываем неоходимые файлы для указания переменных:
    • результат:

  • Проверяем:

  • Создаём необходимую структуру каталогов и файлов:
    • в каталоге /opt/ansible
mkdir project_{1..5}
for i in {1..5}; do 
  touch project_$i/playbook_{1,2}.yml;
done
  • Проверяем:

Последнее изменение: вторник, 9 июля 2024, 14:21