Нет, сам по себе Apache Flink с открытым исходным кодом (пока) не способен реагировать на эти изменения в количестве модулей TM.
Предусмотрены две схемы того, как Flink когда-нибудь будет выполнять автоматическое масштабирование в среде K8s. Один из них, называемый «активным режимом», - это когда Flink знает, какие ресурсы ему нужны, и работает с K8 для получения / освобождения ресурсов соответственно. Это активно развивается как FLINK-9953 . Вы описали другую схему, называемую «реактивным режимом»: Flink масштабирует себя, чтобы использовать любые ресурсы, которые были сделаны доступными. Наблюдайте за FLINK-10407 , чтобы следить за развитием этой функции.
В настоящее время развертывание Flink в Kubernetes фактически является контейнерной версией отдельного развертывания. Я полагаю, что вам нужно
- Остановить работу, используя точку сохранения
- Возобновить работу с точки сохранения, договорившись о том, чтобы новый кластер имел соответствующий размер
На игровой площадке Flink Operations есть пошаговый пример того, как выполнить масштабирование в развертывании на основе docker, что концептуально довольно похоже.