Комментарии 6

Мы очень давно и активно используем local storage, но до сих пор руки не дошли до local volume provisioner'а.

И еще вопрос по Helm.
— показывает ли Helm ошибку при падении выката/деплоя?
— откатывает ли Helm назад деплой при падении деплоя/выкатки?

По поводу ошибок и логирования


Helm не дожидается, когда приложение начинает функционировать, все ресурсы переходят в состояние Running: при успешном выполнении install или upgrade, т.е. имея release в состоянии success, helm не гарантирует, что ресурсы приложения успешно выкатились (к примеру, нет ошибок типа ImagePullError).


На текущий момент состояние success говорит о том, что манифесты применились успешно. Если опустить множество деталей, то можно провести аналогию с командой kubectl apply.


Что касается логирования, то сейчас в helm оно "как-то" поддерживается для Hook-ов. Hook — механизм helm, который позволяет выполнять операции, привязываясь к различным этапам жизненного цикла релиза. К примеру, можно сделать дамп базы перед удалением или накатить фикстуры при инсталяции. Подробнее про них можно почитать здесь.


"Как-то" нас не устраивает, поэтому мы используем собственное решение при выкате приложений с dapp и параллельно пытаемся добавить этот функционал в helm (почитать можно в соответствующем issue).


Что касается отладки, то состояние всех ресурсов релиза можно посмотреть, выполнив команду helm status, а далее уже использовать kubectl logs.


Чего-то существенного от ошибок и сопутствующего вывода helm ждать не стоит.


Rollback


Helm позволяет откатываться до определённой ревизии релиза. Список всех ревизий можно посмотреть, выполнив команду helm history, а откатить версию командой helm rollback.

Helm не дожидается, когда приложение начинает функционировать, все ресурсы переходят в состояние Running: при успешном выполнении install или upgrade, т.е. имея release в состоянии success, helm не гарантирует, что ресурсы приложения успешно выкатились (к примеру, нет ошибок типа ImagePullError).


Этим параметром регулируется чего ждать, а чего не ждать.
Configure Liveness and Readiness Probes

Да, по задумке helm должен следить за выполнением соответствующих probe при использовании опции --wait:


      --wait                     if set, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment are in a ready state before marking the release as successful. It will wait for as long as --timeout

Но должным образом сейчас это не работает. Поддерживаются не все ресурсы и не все версии API. Да и по самой реализации есть вопросы.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.