DebeziumConnectNotReady, DebeziumConnectRestarting
Что означает алерт
DebeziumConnectNotReady: у Deployment debezium-connect в namespace debezium нет готовых реплик 5 минут. Severity: critical.
DebeziumConnectRestarting: контейнер перезапустился более 3 раз за 30 минут. Severity: warning.
Kafka Connect работает в одной реплике. Пока под не готов, коннектор не работает: события в Kafka не поступают, слот репликации неактивен, WAL копится.
Диагностика (по шагам)
- Состояние пода и причина последнего завершения:
kubectl --context yc-sarex-stage -n debezium get pods -o wide
kubectl --context yc-sarex-stage -n debezium describe pod -l app=debezium-connect | grep -A12 -E 'State:|Last State:|Events:'
| Признак | Причина | Действие |
|---|---|---|
CreateContainerConfigError |
нет секрета debezium-kafka или debezium-postgresql |
раздел «Как починить», пункт 1 |
ImagePullBackOff |
образ не скачивается | раздел «Как починить», пункт 2 |
OOMKilled |
не хватило памяти | раздел «Как починить», пункт 3 |
Pending |
под не размещается на нодах | события пода, состояние нод |
CrashLoopBackOff |
процесс падает при старте | шаг 2 |
Running, не Ready |
REST на 8083 не отвечает на пробу | шаг 2 |
- Лог текущего и предыдущего контейнера:
kubectl --context yc-sarex-stage -n debezium logs -l app=debezium-connect --tail=200 | grep -v 'already mapped'
kubectl --context yc-sarex-stage -n debezium logs -l app=debezium-connect --previous --tail=200 | grep -v 'already mapped'
Ошибки подключения к Kafka при старте (SaslAuthenticationException, SSL handshake failed, тайм-ауты до rc1a-...mdb.yandexcloud.net:9091) означают проблему с учётной записью debezium в Managed Kafka, с секретом или с доступностью брокера.
- Проверить секреты (только наличие и набор ключей):
kubectl --context yc-sarex-stage -n debezium get secret debezium-kafka debezium-postgresql
Как починить
- Нет секрета. Секреты материализует terraform (сервис
debeziumв контракте, юнитsecrets). Запустить пайплайн репозиторияinfra/terraformна веткеstage. Значения секретов в вывод команд не отправлять. - Образ не скачивается. Проверить наличие тега в
cr.yandex/crp3ccidau046kdj8g9q/debezium; пересобрать пайплайномinfra/debezium. OOMKilled. Поднять лимит памяти иHEAP_OPTSв.helm/values.yaml(infra/debezium), задеплоить. Размер heap должен оставаться меньше лимита контейнера.- Ошибка аутентификации в Kafka после смены пароля пользователя
debezium: секрет обновляется terraform, под нужно перезапустить (kubectl -n debezium rollout restart deploy/debezium-connect).
После восстановления пода проверить коннектор и слот по разделу 2 общего документа: Debezium: устройство и типовые операции. Задача коннектора после рестарта пода может остаться в FAILED, если слот был занят предыдущим соединением: перезапустить задачу (раздел 3).
Критерий закрытия
- Под
1/1 Running, перезапуски прекратились. - Коннектор и задача в
RUNNING, слот активен. - Алерт перешёл в
inactive.