Обновление Cozystack и проверки после обновления
О версиях Cozystack
Cozystack использует поэтапный процесс выпуска релизов, чтобы сохранять стабильность и гибкость во время разработки.
Существует три типа релизов:
- Alpha, Beta и Release Candidate (RC) - предварительные версии, например
v0.42.0-alpha.1илиv0.42.0-rc.1, которые используются для финального тестирования и проверки. - Стабильные релизы - обычные версии, например
v0.42.0, с полным набором функций и тщательным тестированием. Такие версии обычно добавляют новые возможности, обновляют зависимости и могут содержать изменения API. - Патч-релизы - обновления только с исправлениями ошибок, например
v0.42.1, которые выпускаются после стабильного релиза из отдельной release-ветки.
В production-средах настоятельно рекомендуется устанавливать только стабильные релизы и патч-релизы.
Полный список релизов доступен на странице Releases в GitHub.
Подробнее о процессе выпуска Cozystack см. в документе Cozystack Release Workflow.
Обновление Cozystack
1. Проверьте состояние кластера
Перед обновлением проверьте текущее состояние кластера Cozystack по шагам из раздела
Убедитесь, что Platform Package находится в рабочем состоянии и содержит ожидаемую конфигурацию:
kubectl get packages.cozystack.io cozystack.cozystack-platform -o yaml
2. Защитите критически важные ресурсы
Перед обновлением добавьте аннотацию helm.sh/resource-policy=keep к namespace cozy-system и ConfigMap cozystack-version, чтобы Helm не удалил их во время обновления:
kubectl annotate namespace cozy-system helm.sh/resource-policy=keep --overwrite
kubectl annotate configmap -n cozy-system cozystack-version helm.sh/resource-policy=keep --overwrite
cozy-system и все ресурсы внутри него.3. Обновите оператор Cozystack
Обновите Helm-релиз оператора Cozystack до целевой версии:
--reuse-values when upgrading the Cozystack operator. The Helm chart values contain hardcoded references to the platform OCI repository. Reusing old values would result in the operator pointing to old package versions.If you have custom values (e.g.,
disableTelemetry), pass them explicitly with --set.helm upgrade cozystack oci://ghcr.io/cozystack/cozystack/cozy-installer \
--version X.Y.Z \
--namespace cozy-system
Логи оператора можно посмотреть так:
kubectl logs -n cozy-system deploy/cozystack-operator -f
4. Проверьте состояние кластера после обновления
kubectl get pods -n cozy-system
kubectl get hr -A | grep -v "True"
Если статус pod указывает на сбой, проверьте логи:
kubectl logs -n cozy-system deploy/cozystack-operator --previous
Чтобы убедиться, что все работает как ожидается, повторите шаги из раздела