Добрый день!
Для управления Spark-приложениями на K8s использовали
Kubernetes Operator.
Из плюсов - описание конфигурации приложения в YAML, возможность деплоя средствами Helm.
Если кратко, наш пайплайн выглядел следующим образом:
1) сборка приложения;
2) сборка и публикация Docker-образа с JAR-файлом Spark-приложения;
3) подготовка спецификации CRD SparkApplication;
4) деплой CRD SparkApplication средствами Helm.
Более подробно о нашем опыте можете почитать в
статье.
Готов ответить на интересующие вопросы.
Также можете писать в личку Telegram @samsonov90