Перейти к содержимому

Остановка, запуск и изоляция приложения

В опасной зоне вкладки Settings приложения есть два действия, которые затрагивают сразу всё в выбранной области: Shut down останавливает то, что работает, а аварийная изоляция (Kill switch) изолирует приложение так, что ничего из него не доступно. Оба действия восстанавливают ровно то, что изменили. Область — это всё приложение или одно окружение.

Для обоих нужна роль Operator в приложении или окружении (apps:operate).

Shut down открывает диалог с областью и списком изменений, которые подсчитываются в реальном времени:

  • работающие контейнеры, Deployments и проекты Compose останавливаются;
  • управляемые базы данных и управляемые хранилища приостанавливаются; их данные сохраняются;
  • маршруты и маршруты Pages показывают страницу обслуживания.

Пока приложение остановлено, ресурсы можно изменять. Приложение и его окружения показывают Stopped.

Start возвращает только то, что изменило Shut down, и только то, что осталось в том состоянии, в котором его оставили: контейнер, который кто-то тем временем запустил вручную, не трогается, а ресурс, который был остановлен ещё до этого, остаётся остановленным. Маршруты возвращаются к собственному состоянию режима обслуживания.

Аварийная изоляция предназначена для инцидента безопасности: она отрезает весь трафик к приложению и от него, сохраняя каждый ресурс и его данные как есть. Isolate app открывает диалог с областью и списком изменений. Для подтверждения введите имя приложения.

Пока приложение изолировано:

  • каждый маршрут области и каждый маршрут вне приложения, который перенаправляет запросы на одну из его рабочих нагрузок, показывает страницу обслуживания; коды доступа на время обслуживания не работают;
  • связи контейнеров, связи баз данных и хранилищ и Secure Links рабочих нагрузок приложения разрываются;
  • контейнеры и службы Compose теряют сетевой доступ; контейнер в сети хоста вместо этого останавливается;
  • прямые порты баз данных и хранилищ закрываются;
  • данные остаются как есть.

Приложение показывает Isolated, а каждый его ресурс показывает уведомление на своей странице. Изолированные ресурсы заморожены: пересоздание, обновление, изменение переменных среды или сетей, развёртывание, применение Compose, миграция, создание связей, изменение маршрутов и перенос ресурсов в окружение или из него отклоняются. Остановка, запуск, перезапуск, журналы, консоль и удаление по-прежнему работают.

Turn off снимает аварийную изоляцию и восстанавливает всё в прежнее состояние, элемент за элементом: те же сети с теми же адресами и псевдонимами, те же связи, маршруты и порты. Ресурс, удалённый за это время, пропускается. Нода, которая во время снятия изоляции офлайн, восстанавливается, когда переподключится. Если шаг завершается сбоем, уведомление его перечисляет, и Opfield продолжает повторять попытки.

Для сетевой изоляции контейнеров на ноде нужен Docker-демон версии 2.12 или новее. На более старом демоне этот элемент завершается сбоем с просьбой обновить ноду, а остальная часть аварийной изоляции всё равно применяется.

  • Изолированную область нельзя остановить; сначала выключите аварийную изоляцию.
  • Приложение или окружение нельзя удалить, пока оно остановлено или изолировано.
  • Остановка, запуск, изоляция и её снятие записываются в журнал аудита и на вкладку Activity приложения.
  • Через API и MCP: POST /api/apps/{id}/shutdown, /start, /isolation и DELETE /api/apps/{id}/isolation; MCP manage_app_incident с shutdown, start, isolate, release и status.