Перейти к содержанию

Kubernetes — устранение неполадок

Базовая диагностика

kubectl get pods -n aigate
kubectl describe pod <pod> -n aigate          # события, причины Pending/CrashLoop
kubectl logs <pod> -n aigate --previous       # логи упавшего контейнера
kubectl get events -n aigate --sort-by=.lastTimestamp

Проверяйте пробы /readyz (готовность зависимостей) и метрики gateway_fail_safe_invocations_total (деградация зависимостей) — см. Наблюдаемость.

Проблемы установки через Wizard

Разбор частых сбоев установки через Wizard:

  • ImagePullBackOff: no basic auth credentials — pull-secret harbor-cr авторизует хост registry.appsec.global. В image:--harbor-server) должен использоваться именно он, а не harbor.prod.swordfishsecurity.com: это один и тот же Harbor, но imagePullSecret матчится по хосту.
  • preflight:gpu FAIL — к деплою назначены GPU-сервисы (content-safety, threat-detector, translation-service), но в кластере 0 ресурсов nvidia.com/gpu. Добавьте GPU-ноду (NVIDIA GPU Operator) либо запустите установку с флагом --no-gpu, чтобы пропустить ML-сервисы.
  • preflight:appsecrets ... tokenization-vault required — не создан секрет tokenization-vault-secrets (мастер-ключ токенизации). Создайте его до install (см. Секреты).
  • In-cluster Job: loading kubeconfig — образ выставляет ENV KUBECONFIG=/kubeconfig, а в Job такого файла нет. Задайте env KUBECONFIG="" — клиент фоллбэкнется на in-cluster ServiceAccount.
  • Phase 2 зависла на сервисе — посмотрите логи зависшего сервиса:
kubectl logs -l app.kubernetes.io/name=<svc> -n aigate

После устранения причины переустановите только продуктовую фазу:

docker run --rm ... install --only phase2:product -f /values.yaml

Типовые проблемы

Симптом Вероятная причина Что проверить
Под Pending нет GPU-узла / ресурсов nodeSelector/tolerations, GPU Operator, quotas
CrashLoopBackOff ML-сервиса не загрузилась модель / нет VRAM startupProbe, логи, доступность модели, VRAM
readyz = 503 недоступна зависимость (БД/Redis/MinIO) секреты, Service DNS, состояние инфраструктуры
401 на Admin API не настроена аутентификация OAuth2 Proxy / Keycloak, заголовки X-Forwarded-*
Нет метрик в Prometheus не включён ServiceMonitor metrics.serviceMonitor.enabled, labels обнаружения
OPA не видит изменений политик не синхронизирован bundle доступ к MinIO, интервал опроса OPA

Где искать дальше