KubernetesPodOperator не отправляет аргументы, как ожидалось

#apache-spark #airflow #spark-submit

#apache-spark #поток воздуха #spark-отправить

Вопрос:

У меня есть airflow, запускающий KubernetesPodOperator для выполнения вызова Spark-submit:

 spark_image = f'{getenv("REGISTRY")}/myApp:{getenv("TAG")}'
j2g = KubernetesPodOperator(
    dag=dag,
    task_id='myApp',
    name='myApp',
    namespace='data',
    image=spark_image,
    cmds=['/opt/spark/bin/spark-submit'],
    configmaps=["data"],
    arguments=[
        '--master k8s://https://10.96.0.1:443',
        '--deploy-mode cluster',
        '--name myApp',
        f'--conf spark.kubernetes.container.image={spark_image}',
        'local:///app/run.py'
    ],
 

Однако я получаю следующую ошибку:

 Error: Unrecognized option: --master k8s://https://10.96.0.1:443
 

Что странно, потому что, когда я отправляю bin / bash в работающий модуль и выполняю команду spark-submit, это работает.

Есть идеи, как передать аргументы, как ожидалось?

Комментарии:

1. spark_image содержит ли он свою собственную точку входа? cmds переопределяет точку входа, чтобы вы могли проверить, что произошло в точке входа изображения

2. Сделал github.com/apache/airflow/issues/12700 решить ваш вопрос?

3. @elad да, я обновлю решение

Ответ №1:

Решение из тикета GitHub: параметр должен быть отправлен следующим образом:

  '--master=k8s://https://10.96.0.1:443',