Files
DevOpsLab/roles/ping/QUICKSTART.md
Сергей Антропов c1655d2674
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
chore: обновлена версия проекта с 2.0.0 на 3.0.0
- Обновлена версия в README.md
- Обновлена версия во всех файлах docs/
- Обновлена версия в dockerfiles/README.md
- Обновлена версия в roles/*/QUICKSTART.md
- Подготовка к версии 3.0.0 с Kubernetes поддержкой

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-26 01:36:54 +03:00

4.6 KiB
Raw Blame History

Быстрый старт - Роль Ping

Автор: Сергей Антропов
Сайт: https://devops.org.ru
Версия: 3.0.0

Что делает роль?

Роль выполняет ping проверки подключения к сети. Отправляет пакеты на указанный хост и выводит результаты.

Основные задачи роли:

  1. Выполнение ping - отправляет пакеты на указанный хост
  2. Вывод результата - показывает результаты ping
  3. Статистика - выводит статус выполнения
  4. Дополнительная информация - выводит полный вывод команды

Быстрый запуск

Тестирование роли

# 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