Files
tf_registry/HISTORY/incident-2026-08-31.md
T

33 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Инцидент: `tf-registry.containerk8s.services.ngcloud.ru` отдаёт 503
## Зафиксированные факты
- `tf-registry.containerk8s.services.ngcloud.ru` резолвится в `5.172.178.231`.
- Запросы `GET /healthz` и `GET /readyz` возвращают `HTTP/2 503` с телом nginx `503 Service Temporarily Unavailable`.
- Прямое подключение к `5.172.178.231:5000` не устанавливается (порт backend наружу не публикуется).
- VM `5.172.178.213` доступна, но это ВМ для сборки — managed-контейнер к ней отношения не имеет.
- Следовательно, запрос не доходит до Go-сервера: это недоступный или не запущенный upstream, а не ошибка обработчиков `/healthz`, `/readyz` или S3 readiness.
## Диагностика образа (подтверждённые факты)
- Docker Registry Gitea (`gitea.services.ngcloud.ru/nail/tf_registry`) был **пуст**: `tags=` (тегов нет).
- `docker manifest inspect ...:latest` → `manifest unknown`; `:0.0.2` → `manifest unknown`.
- С ВМ `5.172.178.213` доступа до Gitea **нет**: TCP `194.31.9.41:443` — `SYN-SENT`, DNS `lookup gitea.services.ngcloud.ru` — `i/o timeout`, traceroute обрывается на `100.64.24.24`. Общий интернет с ВМ работает (docker hub доступен).
- Локальная машина (Krupski) имеет доступ до Gitea напрямую; `docker login gitea.services.ngcloud.ru --username Naeel` → `Login Succeeded`.
- Образ собран на ВМ из текущего `master` (rsync), затем перенесён локально через `docker save`/`scp`/`load`.
## Push образа 0.0.1 (выполнено)
- `docker push gitea.services.ngcloud.ru/nail/tf_registry:0.0.1` (с локальной машины) — успешно.
- Digest: `sha256:9a00836c916e2cae597e31dff2184a08550bd1be262bdba980d17de2943aa4a7`
- Проверка: `docker pull gitea.services.ngcloud.ru/nail/tf_registry:0.0.1` → `PULL_OK`.
- ID образа: `sha256:3c76e53a7213d0404932aac6b8ad0dc0c254b35f14d6d3d420a18ba4ec07b0d3`
## Требуемое восстановление
1. В Nubes Cloud открыть инстанс с доменом `tf-registry.containerk8s.services.ngcloud.ru` и проверить состояние deployment/реплик и событий запуска.
2. Обновить `registryPath` на `gitea.services.ngcloud.ru/nail/tf_registry:0.0.1` (образ с этим тегом уже опубликован).
3. Проверить, что контейнер слушает `PORT=5000`, а healthcheck использует доступный путь.
4. Выполнить redeploy через UI `modify`.
5. После запуска проверить `https://tf-registry.containerk8s.services.ngcloud.ru/healthz` и `/.well-known/terraform.json`.