Монтирование ConfigMap в Airflow Worker Pod с помощью KubernetesExecutor
У меня есть сценарий, в котором я хочу использовать Helm для развертывания конфигураций Airflow для каждой среды, которые используют KubernetesExecutor.
Проблема, с которой я сталкиваюсь, заключается в том, что мне нужно установить планировщик для каждой среды ConfigMaps в рабочих модулях, когда KubernetesExecutor их порождает.
У меня эти ConfigMaps нормально смонтированы в модулях Web и Scheduler, но я не вижу средства, чтобы KubernetesExecutor монтировал определенные ConfigMaps.
Я не вижу нигде в документации, как это сделать, но я не могу быть единственным, кто хочет, чтобы их образы Docker не зависели от среды и абстрагировали все до уровня Helm.
Любые предложения будут высоко ценится:)
Благодарность!
1 ответ
Я считаю, что самый простой способ сделать это - указать env_from_configmap_ref
установка в вашем airflow.cfg
как описано здесь. Если конфигурационные карты имеют одно и то же имя в разных средах, это должно быть довольно просто, например
[kubernetes]
...
env_from_configmap_ref = <your-airflow-configmap>
...
Если у вас есть карты конфигурации с разными именами в разных средах (и вы не можете согласовать имена), вам может потребоваться указать airflow.cfg
в самой configmap, как в этом примере.