Обеспечение наличия хотя бы одного экземпляра службы в каждом пуле узлов кластера Kubernetes

В нашем случае использования мы используем Open Policy Agent в качестве контроллера доступа Kubernetes для изменения спецификаций (и добавления таких вещей, как Node Affinity) перед запуском модулей.

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

Таким образом, я обдумываю смену OPA Deployment в DaemonSet, что гарантирует, что каждый узел в каждом пуле узлов запускает копию, и блоки не будут запускаться на новом узле, пока не будет запущена копия DaemonSet, который гарантирует, что мы никогда не будем работать без, и это здорово!

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

Так что это заставило меня задуматься; будет ли более разумный способ выполнения этой рабочей нагрузки? Идеальной ситуацией было бы иметь по крайней мере один Pod (или, может быть, два для HA на кластерах с одним пулом узлов) этого типа на каждый пул узлов внутри кластера. Каков был бы жизнеспособный способ развернуть такую ​​стратегию?

0 ответов

Другие вопросы по тегам