Удаление развернутого приложения #1

Open
opened 2025-03-07 13:58:15 +00:00 by msgalynchik · 2 comments
Member

Описание

При удалении развернутого приложения его namespace исчезает из пространства имен пользователя, но само приложение не удаляется и даже может продолжать отвечать на запросы(поды mlcmp все еще работают). Application в ArgoCD не удаляется и соответственно не удаляются компоненты из репозитория и ресурсы созданные на их основе. Фактически модуль продолжает работать без PlatformApplication.

Вероятно проблема возникает если у приложения есть выделенные поды. Возможно проблема не возникнет если предварительно убрать mlcmp из приложения(например убрав его манифест из репозиторий развертывания).

В целом баг не прозрачен для пользователя(это можно обнаружить только при поддержке администратора кластера).

## Описание При удалении развернутого приложения его namespace исчезает из пространства имен пользователя, но само приложение не удаляется и даже может продолжать отвечать на запросы(поды mlcmp все еще работают). Application в ArgoCD не удаляется и соответственно не удаляются компоненты из репозитория и ресурсы созданные на их основе. Фактически модуль продолжает работать без PlatformApplication. Вероятно проблема возникает если у приложения есть выделенные поды. Возможно проблема не возникнет если предварительно убрать mlcmp из приложения(например убрав его манифест из репозиторий развертывания). В целом баг не прозрачен для пользователя(это можно обнаружить только при поддержке администратора кластера).
gzhulikov added the
bug
label 2025-03-17 08:46:29 +00:00

Удаление приложения следует начинать с установки статуса начала удаления на CRD PlatformApp, выключения обновления проекта в ArgoCD, затем удаление ресурсов K8s, созданных контроллерами фреймворка с установкой статуса удаления для CRD ресурсов, который выключает обновления для них контроллерами и указание статуса приложения как удаленного. Удаление экземпляра PlatformApp через DELETE допускается только в этом статусе, что вызывает удаление проекта в ArgoCD, затем удаление пространства имен и самого экземпляра PlatformApp.

Статус приложение удалено вычисляется путем опроса статусов CRD, созданных при развертывании приложения в его пространстве имен при наличии статуса начала удаления. Приложение получает статус удалено, когда все CRD в статусе удален.

Повторное удаление приложения в статусе начало удаление или удалено проверяет, что все CRD в статусе удалены.

Данные ящиков не удаляются, но могут быть помечены как несвязанные с каким либо ящиком в метаданных S3. При повторном создании ящика в том же приложении данные должны быть доступны, если не были до этого удалены. Для принудительного удаления данных необходимо их удалить через файловый API, например, удалив файловую группу.

Удаление приложения следует начинать с установки статуса начала удаления на CRD PlatformApp, выключения обновления проекта в ArgoCD, затем удаление ресурсов K8s, созданных контроллерами фреймворка с установкой статуса удаления для CRD ресурсов, который выключает обновления для них контроллерами и указание статуса приложения как удаленного. Удаление экземпляра PlatformApp через DELETE допускается только в этом статусе, что вызывает удаление проекта в ArgoCD, затем удаление пространства имен и самого экземпляра PlatformApp. Статус приложение удалено вычисляется путем опроса статусов CRD, созданных при развертывании приложения в его пространстве имен при наличии статуса начала удаления. Приложение получает статус удалено, когда все CRD в статусе удален. Повторное удаление приложения в статусе начало удаление или удалено проверяет, что все CRD в статусе удалены. Данные ящиков не удаляются, но могут быть помечены как несвязанные с каким либо ящиком в метаданных S3. При повторном создании ящика в том же приложении данные должны быть доступны, если не были до этого удалены. Для принудительного удаления данных необходимо их удалить через файловый API, например, удалив файловую группу.
Owner

Вероятно, проблема в том, что argocd не удается удалить ящики, потому что соответствующие им PVC используются в Job пайплайнов (завершенных, запланированных, ...). Возможно, поэтому argocd не удаляет и остальные ресурсы.

Вероятно, проблема в том, что argocd не удается удалить ящики, потому что соответствующие им PVC используются в Job пайплайнов (завершенных, запланированных, ...). Возможно, поэтому argocd не удаляет и остальные ресурсы.
vpolezhaev added the
platform-app
databox
labels 2025-04-10 15:00:37 +00:00
Sign in to join this conversation.
No description provided.