Проверка наличия CRD Marketplace
Если d8 k get app возвращает ошибку, возможно, CRD Marketplace не установлены. Для проверки выполните следующую команду:
d8 k get crd | grep -E 'application|package'
Ожидаемый вывод:
applicationpackages.deckhouse.io 2026-02-10T14:54:41Z
applicationpackageversions.deckhouse.io 2026-02-10T14:54:41Z
applications.deckhouse.io 2026-02-10T14:54:41Z
packagerepositories.deckhouse.io 2026-02-10T14:54:41Z
packagerepositoryoperations.deckhouse.io 2026-02-10T14:54:41Z
Если какие-либо CRD отсутствуют, обратитесь к администратору кластера. Marketplace требует DKP версии 1.76 или выше.
Чтение summary приложения
Самый быстрый способ понять, почему приложение не работает — проверить status.summary. Для этого выполните следующую команду (можно использовать сокращённое имя — app):
d8 k get app -n <NAMESPACE> <APPLICATION_NAME> -o yaml | grep -A5 'summary:'
Пример вывода:
summary:
state: Updating
message: "Update is waiting for dependent modules to converge; previous version is still serving"
tip: "Waiting until DKP processes all dependent modules to start the update."
state— текущее общее состояние приложения.message— объясняет, почему приложение находится в этом состоянии.tip— что нужно сделать для решения проблемы или чего ожидает DKP.
Чтение отдельных условий
Для более детального просмотра состояния выполните следующую команду:
d8 k get app -n <NAMESPACE> <APPLICATION_NAME> \
-o jsonpath='{range .status.conditions[*]}{.type}: {.status} ({.reason}) - {.message}{"\n"}{end}'
Пример вывода при зависшем обновлении:
conditions:
- lastTransitionTime: "2026-02-25T16:39:30Z"
message: ""
observedGeneration: 1
reason: Installed
status: "True"
type: Installed
- lastTransitionTime: "2026-02-25T17:12:25Z"
message: "Update is waiting for dependent modules to converge"
observedGeneration: 1
reason: Pending
status: "False"
type: UpdateInstalled
- lastTransitionTime: "2026-02-25T16:39:30Z"
message: ""
observedGeneration: 1
reason: ConfigurationApplied
status: "True"
type: ConfigurationApplied
- lastTransitionTime: "2026-02-25T16:39:30Z"
message: ""
observedGeneration: 1
reason: Managed
status: "True"
type: Managed
- lastTransitionTime: "2026-02-25T16:39:30Z"
message: ""
observedGeneration: 1
reason: Scaled
status: "True"
type: Scaled
- lastTransitionTime: "2026-02-25T16:39:30Z"
message: ""
observedGeneration: 1
reason: Ready
status: "True"
type: Ready
currentVersion:
version: v0.0.20
В этом примере Installed=True (приложение запущено на версии v0.0.20), но UpdateInstalled=False/Pending означает, что обновление в очереди и ожидает завершения зависимого модуля.
Просмотр логов контроллера DKP
Если условий статуса недостаточно для диагностики, просмотрите логи контроллера:
d8 k logs deployments/deckhouse -n d8-system | grep <APPLICATION_NAME>
Просмотр логов подов приложения
Для получения списка подов, созданных приложением, выполните следующую команду:
d8 k get pods -n <NAMESPACE> -l app.kubernetes.io/instance=<APPLICATION_NAME>
Для просмотра логов конкретного пода выполните:
d8 k logs -n <NAMESPACE> <POD_NAME>
Для просмотра логов конкретного деплоймента с префиксом имени экземпляра выполните:
d8 k logs -n <NAMESPACE> deployments/<APPLICATION_NAME>-<RESOURCE_NAME>
Частые условия и их значение
| Условие | Reason при Status=False | Что проверить |
|---|---|---|
Installed |
InstallFailed |
Логи контроллера DKP, проверьте настройки по OpenAPI-схеме |
UpdateInstalled |
Pending |
Конвергенция зависимых модулей — проверьте условия модуля d8 |
UpdateInstalled |
UpdateFailed |
Указанная packageVersion не существует в репозитории — проверьте через d8 k get apv -l package=<имя> |
ConfigurationApplied |
ConfigurationFailed |
Ошибка валидации настроек — проверьте по схеме ApplicationPackageVersion |
Scaled |
NotScaled |
Поды не готовы — проверьте события пода через d8 k describe pod |
Ready |
NotReady |
Одно или несколько условий выше не выполнены |