Обновление Deckhouse не применяется: DeckhouseRelease или ModuleRelease висит в Pending

Viewed 24

Новый релиз появился, но не применяется: DeckhouseRelease (или ModuleRelease модуля) давно в Pending. Окна обновлений не мешают.

1 Answers

Сначала прочитайте сообщение релиза (.status.message), там обычно написано, чего он ждёт:

d8 k get deckhousereleases
d8 k get modulereleases
d8 k describe deckhouserelease <версия>

Частые случаи:

  • Нужно подтверждение. В режиме Manual оно нужно для любого релиза. В режиме по умолчанию AutoPatch только для минорных версий, патчи ставятся сами. Об этом сигналят алерты DeckhouseReleaseIsWaitingManualApproval и ModuleReleaseIsWaitingManualApproval:

    d8 k patch deckhouserelease <версия> --type=merge -p '{"approved": true}'
    d8 k annotate modulerelease <релиз> modules.deckhouse.io/approved="true"
    
  • Не выполнены requirements релиза, например minimal IngressNginxController version is lower then required: в IngressNginxController закреплён старый controllerVersion. Уберите поле, тогда возьмётся defaultControllerVersion из ModuleConfig ingress-nginx; если и он ниже требуемого, поднимите его.

  • Под deckhouse не в состоянии Ready. Минорный релиз не применится, пока под не в порядке. Разбор в вопросе «Под deckhouse висит в 1/2 или CrashLoopBackOff».

  • Статус Suspended. Релиз отложен и не рекомендуется к установке. Оставайтесь на текущей версии и дождитесь следующего релиза.

Подробнее в документации: ручное подтверждение обновлений, режимы обновления, FAQ, раздел «Deckhouse», вопрос «Что делать при наличии проблем с обновлением Deckhouse Platform?» (там же про статус Release is suspended).