Closed akash-jain-10 closed 6 months ago
This issue has been automatically marked as stale because it has not had activity in 60 days. It will be closed in 7 days if no further activity occurs.
Thank you for your contributions.
Issues never become stale if any of the following is true:
lifecycle/frozen
labelHey Team, want to follow up here! Is this something that can be added as part of enhancements to Airflow-Helm Community Charts ?
This issue has been automatically marked as stale because it has not had activity in 60 days. It will be closed in 7 days if no further activity occurs.
Thank you for your contributions.
Issues never become stale if any of the following is true:
lifecycle/frozen
label@akash-jain-10 As far as I know, the existing airflow.kubernetesPodTemplate.*
values work correctly to template the AIRFLOW__KUBERNETES__POD_TEMPLATE_FILE
file.
We also provide the airflow.kubernetesPodTemplate.stringOverride
value to override the full template with a custom string value, if required.
Hello @thesuperzapper - The kubernetesPodTemplate seems to be only mounted with scheduler and not with webserver. Is this intentional ? Any custom Plugin that relies on the kubernetes Pod Template on the webserver pod seems to be failing for us!
Checks
User-Community Airflow Helm Chart
.Chart Version
8.6.1
Kubernetes Version
Helm Version
Description
We are using a custom Airflow plugin that helps us dynamically deploy DAGs via REST APIs. During the deployment process, we are triggering the SchedulerJob to force scanning the new created DAGs from python code. This is a preferred solution, rather than managing the scan interval time. However, when running the deployments in k8s with KubernetesExecutor, the new DAGs are not picking up the right pod_template_file. This is because the pod_template_file is only mounted in the Scheduler pod, and not on the Webserver pod, where the plugins run. If we manually mount the pod_template_file in the right location
AIRFLOW__KUBERNETES_EXECUTOR__POD_TEMPLATE_FILE
, then everything works as expected. This is the chart adding the pod_template_file in the scheduler, but this entry is missing from the webserver chart. However, the official Ariflow charts are indeed adding the pod_template_file to the webserver as well.Expected Behaviour - For Plugins that runs on Airflow Web Servers and create DAGs on the fly (programmatically), It should pick up the right pod template file with correct serviceAccount name and dags and logs directory mounted.
Actual Behaviour - New Kubernetes Pod that spins up for DAGs generated via plugin running on Airflow webServer spins up with default service account name and does not have airflow environment variables (it does not use the pod_template.yaml file associated with scheduler pod).
Alternatives/workarounds - Currently, we did manage to get a static work around available by passing
extraVolumes
andextraVolumeMounts
for web server but since the name of ConfigMap is derived from helm release name, this is not a suggested work around to get things going!It would be great to take a look here and add the ConfigMap baked in with the helm charts.
Relevant Logs
Custom Helm Values