Требуемые условия завершения
Задача:
- Настройка узла управления Ansible
- Настройте узел управления на базе ANS:
- Используйте стандартную пакетную версию ansible
- Сформируйте инвентарь:
- Создайте файл инвентаря с именем hosts
- Настройте запуск данного инвентаря по умолчанию
- Сформируйте 3 группы серверов (SRV-A, SRV-R, RTR)
- Реализуйте доступ к серверам с учетом настроек SSH
- Пользователь и ключ (пароль) для каждой группы должны быть размещены в папке group_vars в качестве переменных
- Выполните тестовую команду “ping” средствами ansible.
- Убедитесь, что все сервера отвечают “pong”
- Убедитесь, что команды ansible выполняются от пользователя user без использования sudo
- Создайте необходимую для выполнения задания 2 дня структуру каталогов
- Если требуется, используйте ansible-vault и пароль prof для шифрования конфигурационных файлов
- Настройте узел управления на базе ANS:
Вариант реализации:
ANS:
- Устанавливаем пакет ansible:
sudo dnf install -y ansible
- Описываем инвентарный файл в /opt/ansible/hosts:
vim /opt/ansible/hosts
-
- содержимое инвентарного файла в формате yaml:
- в данном инвнтарном файле описаны 3 группы:
- группа Astra с хостом srv-a;
- группа Redos с хостом srv-r;
- группа Router с хостом rtr.
- в данном инвнтарном файле описаны 3 группы:
- содержимое инвентарного файла в формате yaml:
-
- аналогичный инвентарный файл, но в формат ini:

- Редактируем конфигурационный файл /etc/ansible/ansible.cfg:
sudo vim /etc/ansible/ansible.cfg
-
- вносим следующую информацию:
-
-
- указываем, что стоит по умолчанию использовать инвентарный файл из каталога /opt/ansible;
- игнорируем fingerprint для первого подключёния по ssh
-
- Создаём директорию для переменных пренадлежащих группе хостов:
cd /opt/ansible
mkdir group_vars
- Описываем файлы групповых переменных для каждой группы в директории group_vars:
- файл должен иметь одноимённое имя с группой хостов, которой пременные пренадлежат:
- файл Astra.yml - содержит переменные для группы хостов Astra - описанных в инвентарном файле hosts;
- файл Redos.yml - содержит переменные для группы хостов Redos - описанных в инвентарном файле hosts;
- файл Router.yml - содержит переменные для группы хостов Router - описанных в инвентарном файле hosts;
- файл должен иметь одноимённое имя с группой хостов, которой пременные пренадлежат:
- Таким образом, имеем следующую структуру файлов и директорий в каталоге /opt/ansible:
- Выполняем проверку доступности хостов средствами ansible:
ansible -m ping all
-
- результат:
- Создаём необзодимую структуру каталогов для следующего модуля:
mkdir project_{1..6}
-
- результат:
- В директории /opt/ansible/project_6 создаём файл docker-compose.yml:
touch project_6/docker-compose.yml
- Выполняем шифрование файла docker-compose.yml средствами ansible-vault:
ansible-vault encrypt --ask-vault-pass project_6/docker-compose.yml
-
- в качестве пароля для дешифрования указываем prof:
- результат:
- в качестве пароля для дешифрования указываем prof:
- Проверяем:
Последнее изменение: понедельник, 1 июля 2024, 21:50