3.4 KiB
3.4 KiB
🛠 Reset and Cleanup Infrastructure of Jambotron
Этот протокол описывает процесс экстренного восстановления системы Jambotron при критическом заполнении диска и аномальной нагрузке на CPU, вызванной штормом контейнеров.
1. Фаза Остановки (Purge)
Когда система «захлебывается», необходимо прервать циклы бесконечных перезагрузок, которые блокируют ресурсы процессора.
# Остановить процессы, пожирающие ресурсы
docker stop jambotron-staging jambotron-app
2. Фаза Глубокой Очистки (Space Recovery)
Освобождение диска от «темной материи» — кэша сборок и неиспользуемых слоев.
| Тип данных | Команда очистки | Эффект |
|---|---|---|
| Build Cache | docker builder prune -a -f |
Удаление промежуточных слоев (~44 ГБ) |
| Images | docker image prune -a -f |
Удаление неиспользуемых и старых образов |
| Containers | docker rm jambotron-staging test-app1 whoami |
Удаление лишних или битых контейнеров |
3. Фаза Оживления (Resurrection)
Последовательный запуск компонентов системы. Начинаем с фундамента (баз данных).
# Шаг 1: Запуск баз данных и хранилища кода
docker start jambo-postgres jambo-mongo gitea-db-1 gitea
# Шаг 2: Запуск сетевого шлюза и мониторинга
docker start caddy jambo-loki prometheus grafana portainer
# Шаг 3: Запуск основного приложения (Production)
docker start jambotron-app
4. Контроль Инженерной Системы
После ресета необходимо убедиться, что параметры системы вернулись в норму:
df -h— Проверка свободного места на дискеdocker system df— Проверка очистки Build Cachedocker ps— Проверка, что все критические контейнеры в статусе Up
5. Предотвращение Деградации
Чтобы система оставалась стабильной, придерживайся правил в CI/CD:
- Network Logic: всегда используй имя контейнера базы (
jambo-mongo), а неlocalhost - Clean Build: периодически очищай образы, чтобы старые версии не накапливались
- Мониторинг: следи за ресурсами и состоянием контейнеров
Итог
- Статус системы: Очищена
- Направление: Задано
- Цель: Созидание