Остановите каждое развертывание от выкидыша всех со своего рабочего стола

FixKlusterServices
Порезанный
25 августа 2026 г. в 16:02 UTC
Автор
Kamo
Обещать
ddff1f0

«Произошла ошибка, и это действие не может быть завершено» Открытый рабочий стол не был праздным тайм-аутом и не проблемой браузера. Это был Си. • deployment-services.yml ran 'kububl rollout restart deployment/guacamole' безоговорочно на каждом развертывании, которое коснулось рабочего стола/. Гуакамоле сохраняет свой сеансы в памяти (HashTokenSessionMap) и ее GUACAMOLE HOME - пустой Дир; Таким образом, замена контейнера уничтожает каждую живую сессию: следующий браузер /api/tokens получает 502 от Traefik, и приложение падает до APP.ERROR PAGE UNAVAILABLE. Это точная формулировка, о которой сообщается. Журнал доступа Траефика показывает, что посадка 502 в 15:12:34 и 15:36:44, и за 34 секунды до первой была создана реплика. Четыре рулона только на 2026-08-25 (13:56, 14:49, 15:12, 15:36); последовательно Редакции отличаются только по ****************, так что ничего о Развертывание действительно менялось. Перезапуск имел реальную цель — подхватить брендинг или подписать ключевые изменения, которые Live in a ConfigMap and a Secret, которую стручка читает только при запуске, так что теперь Условная вместо удаленной. Контрольная сумма этих входов проштампована на Шаблон под: идентичные входы производят идентичный патч, который является no-op, который Ничего не катится, в то время как подлинное изменение катится ровно один раз. Проверенный против кластер на скретче развертывания: поколение 1 -> 2 на новую сумму, 2 -> 2 на новую сумму Та же сумма, 2 -> 3 на измененную сумму. Во-вторых, перезапуск не должен быть тупиком для того, кто работает. Связь SSO все еще находится в адресной строке и остается погашаемым, поэтому kamo-reconnect.js через поле «js» расширения брендинга, подтвержденное как @JsonProperty("js") в ExtensionManifest следит за страницей ошибок и перезагружает Чтобы воссоединиться. Он отказывается перезагружать скрытую вкладку — фоновые таймеры дрожал примерно раз в минуту, далеко за 15-секундным терпением Гвача, так что Воссоединение в один просто умирает снова в цикле - и ждет вкладку, чтобы быть Вместо этого посмотрел. Он отказывается перезагружаться без ?data=, который будет зацикливаться на Экран входа. Его попытка бюджета живет в SessionStorage, поэтому он выживает. перезагружает его, и нечитаемый бюджет деградирует до старого тупика Вместо неограниченной петли. 10 единичных тестов, включён в CI.

Все изменения

Как вы видите судоходство?

Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.

Начните бесплатно навсегдаПосмотреть цены