Практические задания по DevOps
Выберите задание и практикуйтесь на реальных виртуальных машинах
Сломанное веб-приложение
Разработчик запустил контейнер с веб-приложением, но оно не работает. Приложение должно отвечать на `http://localhost...
Сломанное веб-приложение
Разработчик запустил контейнер с веб-приложением, но оно не работает. Приложение должно отвечать на `http://localhost:8080`, но вместо этого — тиши...
Приложение не видит базу данных
Разработчик запустил два контейнера: веб-приложение и базу данных PostgreSQL. Оба контейнера работают, но приложение ...
Приложение не видит базу данных
Разработчик запустил два контейнера: веб-приложение и базу данных PostgreSQL. Оба контейнера работают, но приложение не может подключиться к базе —...
Сервис не запускается
Разработчик настроил systemd-сервис для Flask-приложения на сервере. После перезагрузки сервер не отвечает на запросы...
Сервис не запускается
Разработчик настроил systemd-сервис для Flask-приложения на сервере. После перезагрузки сервер не отвечает на запросы — сервис `webapp` в состоянии...
Dev и Ops, DevOps, DEVOPS
Сообщения застряли в очереди
Producer-сервис на Python активно публикует задачи в RabbitMQ, но очередь `tasks` только растёт — сообщения накаплива...
Сообщения застряли в очереди
Producer-сервис на Python активно публикует задачи в RabbitMQ, но очередь `tasks` только растёт — сообщения накапливаются и не обрабатываются. Счёт...
Playbook падает с ошибкой
Коллега написал Ansible-плейбук для настройки веб-сервера nginx на локальной машине. При запуске `ansible-playbook /o...
Playbook падает с ошибкой
Коллега написал Ansible-плейбук для настройки веб-сервера nginx на локальной машине. При запуске `ansible-playbook /opt/hardpractice/site.yml` Ansi...
MySQL работает медленно
Веб-приложение на Flask для управления заказами интернет-магазина. Страница со списком заказов `/orders` загружается ...
MySQL работает медленно
Веб-приложение на Flask для управления заказами интернет-магазина. Страница со списком заказов `/orders` загружается мучительно долго — 5-10 секунд...
бал бла бла
Prometheus не скрейпит метрики
Инженер настроил мониторинг на сервере: Prometheus и node_exporter установлены как системные сервисы. Оба сервиса зап...
Prometheus не скрейпит метрики
Инженер настроил мониторинг на сервере: Prometheus и node_exporter установлены как системные сервисы. Оба сервиса запущены, но в Prometheus один из...
MongoDB отклоняет аутентификацию
Разработчик настроил Flask-приложение с MongoDB, но при запросах приложение возвращает ошибку "Authentication failed"...
MongoDB отклоняет аутентификацию
Разработчик настроил Flask-приложение с MongoDB, но при запросах приложение возвращает ошибку "Authentication failed". Пользователь в MongoDB созда...
Redis не принимает записи
Flask-приложение для кэширования данных перестало работать. При попытке записи в Redis сервер возвращает ошибку OOM (...
Redis не принимает записи
Flask-приложение для кэширования данных перестало работать. При попытке записи в Redis сервер возвращает ошибку OOM (Out Of Memory) — лимит памяти ...
Pipeline завис в pending
GitLab Runner зарегистрирован и отображается как online. Однако пайплайн, запущенный из ветки `develop`, завис — все ...
Pipeline завис в pending
GitLab Runner зарегистрирован и отображается как online. Однако пайплайн, запущенный из ветки `develop`, завис — все jobs остаются в статусе "pendi...
Nginx не запускается
Инженер настроил Nginx как reverse proxy для backend-приложения на Python (Flask). Backend работает и отвечает на зап...
Nginx не запускается
Инженер настроил Nginx как reverse proxy для backend-приложения на Python (Flask). Backend работает и отвечает на запросы напрямую, но Nginx не зап...
Ansible не может выполнить sudo
DevOps-инженер настроил Ansible для управления сервером. Плейбук устанавливает nginx и требует повышения привилегий ч...
Ansible не может выполнить sudo
DevOps-инженер настроил Ansible для управления сервером. Плейбук устанавливает nginx и требует повышения привилегий через `become: yes`. Но при зап...
Контейнер не может писать в volume
Разработчик запустил контейнер с Node.js-приложением, которое пишет логи в примонтированный volume. Но вместо логов —...
Контейнер не может писать в volume
Разработчик запустил контейнер с Node.js-приложением, которое пишет логи в примонтированный volume. Но вместо логов — ошибка "Permission denied". К...
Артефакты не передаются между jobs
CI/CD pipeline Node.js-проекта внезапно перестал работать. Build stage завершается без ошибок, но test stage падает с...
Артефакты не передаются между jobs
CI/CD pipeline Node.js-проекта внезапно перестал работать. Build stage завершается без ошибок, но test stage падает с сообщением "ERROR: No files f...
PostgreSQL отклоняет подключения
На сервере развёрнуто веб-приложение (Python3 + Flask) и база данных PostgreSQL. Приложение при старте падает с ошибк...
PostgreSQL отклоняет подключения
На сервере развёрнуто веб-приложение (Python3 + Flask) и база данных PostgreSQL. Приложение при старте падает с ошибкой "too many connections". Pos...
Приложение не подключается к RabbitMQ
Разработчик развернул RabbitMQ и Python-приложение (publisher), которое публикует сообщения в очередь. Но приложение ...
Приложение не подключается к RabbitMQ
Разработчик развернул RabbitMQ и Python-приложение (publisher), которое публикует сообщения в очередь. Но приложение при старте падает с ошибкой по...
Алерты не приходят
Стек мониторинга с оповещениями: Prometheus собирает метрики, Alertmanager обрабатывает алерты, а webhook receiver пр...
Алерты не приходят
Стек мониторинга с оповещениями: Prometheus собирает метрики, Alertmanager обрабатывает алерты, а webhook receiver принимает уведомления. Все четыр...
Каскадный сбой из-за диска
Пятничный вечер. Мониторинг взорвался алертами: сайт инвентаризации не отвечает, PostgreSQL упал с PANIC в логах, Ngi...
Каскадный сбой из-за диска
Пятничный вечер. Мониторинг взорвался алертами: сайт инвентаризации не отвечает, PostgreSQL упал с PANIC в логах, Nginx возвращает 502. Последнее, ...
Сломанное веб-приложение
Разработчик запустил контейнер с веб-приложением, но оно не работает. Приложение должно отвечать на `http://localhost...
Сломанное веб-приложение
Разработчик запустил контейнер с веб-приложением, но оно не работает. Приложение должно отвечать на `http://localhost:8080`, но вместо этого — тиши...
Приложение не видит базу данных
Разработчик запустил два контейнера: веб-приложение и базу данных PostgreSQL. Оба контейнера работают, но приложение ...
Приложение не видит базу данных
Разработчик запустил два контейнера: веб-приложение и базу данных PostgreSQL. Оба контейнера работают, но приложение не может подключиться к базе —...
Сервис не запускается
Разработчик настроил systemd-сервис для Flask-приложения на сервере. После перезагрузки сервер не отвечает на запросы...
Сервис не запускается
Разработчик настроил systemd-сервис для Flask-приложения на сервере. После перезагрузки сервер не отвечает на запросы — сервис `webapp` в состоянии...
Сообщения застряли в очереди
Producer-сервис на Python активно публикует задачи в RabbitMQ, но очередь `tasks` только растёт — сообщения накаплива...
Сообщения застряли в очереди
Producer-сервис на Python активно публикует задачи в RabbitMQ, но очередь `tasks` только растёт — сообщения накапливаются и не обрабатываются. Счёт...
Playbook падает с ошибкой
Коллега написал Ansible-плейбук для настройки веб-сервера nginx на локальной машине. При запуске `ansible-playbook /o...
Playbook падает с ошибкой
Коллега написал Ansible-плейбук для настройки веб-сервера nginx на локальной машине. При запуске `ansible-playbook /opt/hardpractice/site.yml` Ansi...
MySQL работает медленно
Веб-приложение на Flask для управления заказами интернет-магазина. Страница со списком заказов `/orders` загружается ...
MySQL работает медленно
Веб-приложение на Flask для управления заказами интернет-магазина. Страница со списком заказов `/orders` загружается мучительно долго — 5-10 секунд...
Dev и Ops, DevOps, DEVOPS
DevOps – это перспективное направление, которое будет продолжать развиваться и влиять на IT-индустрию в ближайшие годы, а то и десятилетия.
Prometheus не скрейпит метрики
Инженер настроил мониторинг на сервере: Prometheus и node_exporter установлены как системные сервисы. Оба сервиса зап...
Prometheus не скрейпит метрики
Инженер настроил мониторинг на сервере: Prometheus и node_exporter установлены как системные сервисы. Оба сервиса запущены, но в Prometheus один из...
MongoDB отклоняет аутентификацию
Разработчик настроил Flask-приложение с MongoDB, но при запросах приложение возвращает ошибку "Authentication failed"...
MongoDB отклоняет аутентификацию
Разработчик настроил Flask-приложение с MongoDB, но при запросах приложение возвращает ошибку "Authentication failed". Пользователь в MongoDB созда...
Redis не принимает записи
Flask-приложение для кэширования данных перестало работать. При попытке записи в Redis сервер возвращает ошибку OOM (...
Redis не принимает записи
Flask-приложение для кэширования данных перестало работать. При попытке записи в Redis сервер возвращает ошибку OOM (Out Of Memory) — лимит памяти ...
Pipeline завис в pending
GitLab Runner зарегистрирован и отображается как online. Однако пайплайн, запущенный из ветки `develop`, завис — все ...
Pipeline завис в pending
GitLab Runner зарегистрирован и отображается как online. Однако пайплайн, запущенный из ветки `develop`, завис — все jobs остаются в статусе "pendi...
Nginx не запускается
Инженер настроил Nginx как reverse proxy для backend-приложения на Python (Flask). Backend работает и отвечает на зап...
Nginx не запускается
Инженер настроил Nginx как reverse proxy для backend-приложения на Python (Flask). Backend работает и отвечает на запросы напрямую, но Nginx не зап...
Ansible не может выполнить sudo
DevOps-инженер настроил Ansible для управления сервером. Плейбук устанавливает nginx и требует повышения привилегий ч...
Ansible не может выполнить sudo
DevOps-инженер настроил Ansible для управления сервером. Плейбук устанавливает nginx и требует повышения привилегий через `become: yes`. Но при зап...
бал бла бла
бал бал бал
Контейнер не может писать в volume
Разработчик запустил контейнер с Node.js-приложением, которое пишет логи в примонтированный volume. Но вместо логов —...
Контейнер не может писать в volume
Разработчик запустил контейнер с Node.js-приложением, которое пишет логи в примонтированный volume. Но вместо логов — ошибка "Permission denied". К...
Артефакты не передаются между jobs
CI/CD pipeline Node.js-проекта внезапно перестал работать. Build stage завершается без ошибок, но test stage падает с...
Артефакты не передаются между jobs
CI/CD pipeline Node.js-проекта внезапно перестал работать. Build stage завершается без ошибок, но test stage падает с сообщением "ERROR: No files f...
PostgreSQL отклоняет подключения
На сервере развёрнуто веб-приложение (Python3 + Flask) и база данных PostgreSQL. Приложение при старте падает с ошибк...
PostgreSQL отклоняет подключения
На сервере развёрнуто веб-приложение (Python3 + Flask) и база данных PostgreSQL. Приложение при старте падает с ошибкой "too many connections". Pos...
Приложение не подключается к RabbitMQ
Разработчик развернул RabbitMQ и Python-приложение (publisher), которое публикует сообщения в очередь. Но приложение ...
Приложение не подключается к RabbitMQ
Разработчик развернул RabbitMQ и Python-приложение (publisher), которое публикует сообщения в очередь. Но приложение при старте падает с ошибкой по...
Алерты не приходят
Стек мониторинга с оповещениями: Prometheus собирает метрики, Alertmanager обрабатывает алерты, а webhook receiver пр...
Алерты не приходят
Стек мониторинга с оповещениями: Prometheus собирает метрики, Alertmanager обрабатывает алерты, а webhook receiver принимает уведомления. Все четыр...
Каскадный сбой из-за диска
Пятничный вечер. Мониторинг взорвался алертами: сайт инвентаризации не отвечает, PostgreSQL упал с PANIC в логах, Ngi...
Каскадный сбой из-за диска
Пятничный вечер. Мониторинг взорвался алертами: сайт инвентаризации не отвечает, PostgreSQL упал с PANIC в логах, Nginx возвращает 502. Последнее, ...