72 lines
3.4 KiB
Markdown
72 lines
3.4 KiB
Markdown
# 🛠 Reset and Cleanup Infrastructure of Jambotron
|
||
|
||
Этот протокол описывает процесс экстренного восстановления системы **Jambotron** при критическом заполнении диска и аномальной нагрузке на CPU, вызванной штормом контейнеров.
|
||
|
||
---
|
||
|
||
## 1. Фаза Остановки (Purge)
|
||
|
||
Когда система «захлебывается», необходимо прервать циклы бесконечных перезагрузок, которые блокируют ресурсы процессора.
|
||
|
||
```bash
|
||
# Остановить процессы, пожирающие ресурсы
|
||
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)
|
||
|
||
Последовательный запуск компонентов системы. Начинаем с фундамента (баз данных).
|
||
|
||
```bash
|
||
# Шаг 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 Cache
|
||
- `docker ps` — Проверка, что все критические контейнеры в статусе **Up**
|
||
|
||
---
|
||
|
||
## 5. Предотвращение Деградации
|
||
|
||
Чтобы система оставалась стабильной, придерживайся правил в CI/CD:
|
||
|
||
- **Network Logic:** всегда используй имя контейнера базы (`jambo-mongo`), а не `localhost`
|
||
- **Clean Build:** периодически очищай образы, чтобы старые версии не накапливались
|
||
- **Мониторинг:** следи за ресурсами и состоянием контейнеров
|
||
|
||
---
|
||
|
||
## Итог
|
||
|
||
- **Статус системы:** Очищена
|
||
- **Направление:** Задано
|
||
- **Цель:** Созидание
|