2016-01-04 3 views
1

На предприятиях есть приложения и службы, которые не должны работать постоянно и иметь ограниченную пользовательскую базу (скажем, несколько человек).Запуск и завершение приложений на основе аутентифицированной активности пользователя

Эти приложения могут быть отключены и запущены либо на основе планирования, либо даже более эффективной работы с пользователем. Итак, мы говорим о службе по требованию (скажем, обернутой контейнером) и запуске узла и завершении работы.

Теперь, прежде всего, упоминание о том, что я упоминаю аутентифицированную активность пользователя, состоит в том, что имеет смысл запускать и выключать на этой основе (то есть не на основе сетевого трафика более низкого уровня). Можно представить себе, что задействовано корпоративное SSO (например, OAuth 2).

Итак, мой вопрос: кто-нибудь попытался реализовать то, что я описал, используя Consul или Kubernetes?

В случае с Консулом может случиться так, что хранилище значений ключей можно использовать для предоставления классам «Micro» (т.е. малой пользовательской базы) TTL, каждый раз, когда аутентифицированный пользователь запрашивает доступ к заданному «Micro «приложение класса обновляется TTL. Во время окна TTL мы хотим проверить работоспособность узлов, контейнеров и служб - вне окна, которое у нас нет (поскольку мы хотим сохранить на op ex).

Этот вопрос похож на this autoscaling question, однако отличается тем, что этот прецедент использует масштабирование от 0 узлов, а затем до 0 на основе аутентифицированной базы пользователей (скорее всего, с использованием единого входа).

+0

Если вы хотите управлять запуском/остановкой служб на основе аутентифицированных действий пользователя, имеет смысл реализовать его с помощью webhooks. – number5

+0

На этом этапе, на стороне выключения, он выглядит как контейнерный зонд Kubernetes, который исследует соответствующую конечную точку HTTP (конечные точки исполнительного устройства для ала Spring) может быть одним из возможных способов действий. Конечная точка будет показывать количество пользователей, прошедших проверку подлинности. Зонд должен быть работоспособным, хотя для использования с использованием TTL. Что касается остановки, то в Kurbernetes lingo мы либо закрыли бы один контейнер или контейнер (набор контейнеров). Нужно думать, хотя сценарий веб-ходов. –

ответ

1

В случае Kubernetes, то Horizontal Pod Autoscaling documentation списки точный случай использования, описанные в Следующие шаги (т.е. функция на отставанию и может быть реализован после того, как v1.1. Из Kubernetes). Процитированное описание функции (Unidling proposal) выглядит следующим образом:

Масштабировать количество стручков, начиная с 0. Все стручки можно отключить, а затем включить, когда есть спрос на них. Когда будет получен запрос на обслуживание без каких-либо контейнеров, kube-proxy создаст событие для автоскалера для создания нового модуля.

Таким образом, в будущем возможно использовать то, что я описал в будущем, используя Kubernetes, но сейчас это невозможно. Это само по себе не учитывает требование только масштабирования от 0 на основе аутентифицированной активности пользователя.

Стоит отметить, что кластер-агностик в стороне, on-demand container activation based on systemd. Разумеется, это решение не будет уменьшаться до 0 без контроля, но это все еще стоит отметить.

Смежные вопросы