Можно ли запланировать запуск модуля, скажем, на 24 часа, а затем удалить развертывание / набор состояний? или нужно использовать рабочие места? - PullRequest
0 голосов
/ 07 мая 2020

У нас есть несколько подов, работающих в среде разработки. Модули автоматически подготавливаются приложением для каждого бизнес-действия. Проблема в том, что в различных пространствах имен они накапливают и поглощают доступные ресурсы в EKS.

Есть ли способ без заданий jenkins / k8s просто поместить какой-нибудь параметр в манифест модуля, чтобы сообщить ему о самоуничтожении, скажем, через 24 часа?

Ответы [ 2 ]

1 голос
/ 07 мая 2020

Добавьте в pod.spe c:

activeDeadlineSeconds: 86400

По истечении крайнего срока ваш Pod будет остановлен навсегда со статусом DeadlineExceeded

0 голосов
/ 20 мая 2020

Если я правильно понял вашу ситуацию, вы хотели бы уменьшить масштаб кластера для экономии ресурсов.

Kubernetes поддерживает автоматическое масштабирование вашего приложения в кластере. Буквально это означает, что Kubernetes может запускать дополнительные поды при увеличении нагрузки и завершать избыточные поды при уменьшении нагрузки.

Можно уменьшить масштаб приложения до нуля, но, в этом случае у вас будет задержка обслуживания первого запроса при запуске модуля.

Эта функция зависит от показателей производительности. С практической точки зрения это означает, что автомасштабирование не происходит мгновенно, потому что требуется некоторое время, чтобы показатели производительности достигли настроенного порога.

Упомянутая функция Kubernetes под названием HPA (горизонтальное автоматическое масштабирование подов) описывается здесь документ .

В случае, если вы запускаете свой кластер на GCP или GKE, вы можете go дальше и автоматически запускать дополнительные узлы для вашего кластера, когда вам потребуется больше вычислительных мощностей, и выключить узлы, когда они больше не запускают модули приложений.

Более подробную информацию об этой функции можно найти по ссылке .

И последнее, но не менее важное: вы можете использовать инструмент например, Ansible для управления всеми вашими активами kubernetes (он может создавать / управлять развертываниями через playbooks).

Если вы решите попробовать, эта информация может оказаться полезной:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...