Some checks failed
Ansible Testing / lint (push) Has been cancelled
Ansible Testing / test (default) (push) Has been cancelled
Ansible Testing / test (minimal) (push) Has been cancelled
Ansible Testing / test (performance) (push) Has been cancelled
Ansible Testing / deploy-check (push) Has been cancelled
- Обновлена версия в README.md - Обновлена версия во всех файлах docs/ - Обновлена версия в dockerfiles/README.md - Обновлена версия в roles/*/QUICKSTART.md - Подготовка к версии 3.0.0 с Kubernetes поддержкой Автор: Сергей Антропов Сайт: https://devops.org.ru
4.6 KiB
4.6 KiB
Быстрый старт - Роль Ping
Автор: Сергей Антропов
Сайт: https://devops.org.ru
Версия: 3.0.0
Что делает роль?
Роль выполняет ping проверки подключения к сети. Отправляет пакеты на указанный хост и выводит результаты.
Основные задачи роли:
- Выполнение ping - отправляет пакеты на указанный хост
- Вывод результата - показывает результаты ping
- Статистика - выводит статус выполнения
- Дополнительная информация - выводит полный вывод команды
Быстрый запуск
Тестирование роли
# Lint проверка
make role lint ping
# Тестирование с minimal preset (1 хост)
make role test minimal
# Тестирование с default preset (2 хоста)
make role test default
# Тестирование конкретной роли
make role test ping
Использование в roles/deploy.yml
Роль уже добавлена в roles/deploy.yml и запускается вместе с остальными ролями:
# Запуск всех ролей
make role test minimal
# Запуск только с тегом ping
ansible-playbook -i inventory/hosts.ini roles/deploy.yml --tags ping
Отдельное использование
# Прямой запуск playbook роли
ansible-playbook -i inventory/hosts.ini roles/ping/playbook.yml
Переменные
| Переменная | По умолчанию | Описание |
|---|---|---|
ping_host |
yandex.ru |
Целевой хост для ping |
ping_count |
5 |
Количество пакетов |
ping_interval |
1 |
Интервал между пакетами (сек) |
ping_timeout |
10 |
Таймаут (сек) |
ping_packet_size |
64 |
Размер пакета (байт) |
Использование с кастомными параметрами
- name: Тест ping
hosts: all
roles:
- role: ping
vars:
ping_host: google.com
ping_count: 10
ping_timeout: 5
Теги
ping- выполнение всех задачtest- тестированиеdebug- отладочная информацияstats- статистика
Примеры использования тегов
# Только ping задачи
ansible-playbook -i inventory/hosts.ini roles/deploy.yml --tags ping
# Ping + debug
ansible-playbook -i inventory/hosts.ini roles/deploy.yml --tags "ping,debug"
# Только статистика
ansible-playbook -i inventory/hosts.ini roles/deploy.yml --tags stats
Пример вывода
=========================================
Результат ping yandex.ru
=========================================
PING yandex.ru (87.250.250.242) 64(92) bytes of data.
72 bytes from yandex.ru (87.250.250.242): icmp_seq=1 ttl=57 time=5.24 ms
72 bytes from yandex.ru (87.250.250.242): icmp_seq=2 ttl=57 time=5.12 ms
72 bytes from yandex.ru (87.250.250.242): icmp_seq=3 ttl=57 time=5.08 ms
72 bytes from yandex.ru (87.250.250.242): icmp_seq=4 ttl=57 time=5.18 ms
72 bytes from yandex.ru (87.250.250.242): icmp_seq=5 ttl=57 time=5.21 ms
--- yandex.ru ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 5.080/5.166/5.240/0.057 ms
=========================================
Статус: УСПЕШНО
=========================================
Проверка результатов
# Проверка через логи Molecule
docker logs $(docker ps -aq --filter "network=labnet" | head -1)
# Вход в контейнер для проверки
docker exec -it $(docker ps -aq --filter "network=labnet" | head -1) bash
# Внутри контейнера
ping -c 5 yandex.ru
Поддерживаемые ОС
- ✅ Ubuntu 20.04, 22.04, 24.04
- ✅ Debian 9, 10, 11, 12
- ✅ CentOS 7, 8, 9
- ✅ RHEL 8, 9
- ✅ AlmaLinux 8, 9
- ✅ Rocky Linux 8, 9
Дополнительная информация
- 📖 Полная документация:
roles/ping/README.md - 🧪 Тесты:
roles/ping/tests/test.yml - 📝 Примеры:
roles/ping/examples.yml
Автор: Сергей Антропов
Сайт: https://devops.org.ru