-
Notifications
You must be signed in to change notification settings - Fork 16.4k
Description
Official Helm Chart version
1.17.0 (latest released)
Apache Airflow version
default
Kubernetes Version
1.30.9
Helm Chart configuration
I ran helm upgrade --install ... with no values.yaml or --set parameters.
Docker Image customizations
None
What happened
I installed the helm chart with all the defaults. From the output of the install command and logs, installation appeared successful. But there was no airflow-webserver pod nor service created. So of course kubectl port-forward svc/airflow-webserver 8080:8080 --namespace my-namespace failed, complaining the service doesn't exist:
Error from server (NotFound): services "airflow-webserver" not found
What you think should happen instead
There should be a webserver pod and service listed in kubectl get pods and kubectl get services respectively. kubectl port-forward ... should have succeeded.
How to reproduce
The exact command I ran (with only namespace name changed):
helm upgrade --install airflow apache-airflow/airflow --debug --namespace my-namespace 2>&1 | tee helm-log.out
Anything else
Output of kubectl get pods after helm upgrade --install ...
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
airflow-api-server ClusterIP <redacted> <none> 8080/TCP 67s
airflow-postgresql ClusterIP <redacted> <none> 5432/TCP 67s
airflow-postgresql-hl ClusterIP None <none> 5432/TCP 67s
airflow-redis ClusterIP <redacted> <none> 6379/TCP 67s
airflow-statsd ClusterIP <redacted> <none> 9125/UDP,9102/TCP 67s
airflow-triggerer ClusterIP None <none> 8794/TCP 67s
airflow-worker ClusterIP None <none> 8793/TCP 67s
<non-airflow pods>
Output of kubectl get services after helm upgrade --install ...
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
airflow-api-server ClusterIP <redacted> <none> 8080/TCP 5m48s
airflow-postgresql ClusterIP <redacted> <none> 5432/TCP 5m48s
airflow-postgresql-hl ClusterIP None <none> 5432/TCP 5m48s
airflow-redis ClusterIP <redacted> <none> 6379/TCP 5m48s
airflow-statsd ClusterIP <redacted> <none> 9125/UDP,9102/TCP 5m48s
airflow-triggerer ClusterIP None <none> 8794/TCP 5m48s
airflow-worker ClusterIP None <none> 8793/TCP 5m48s
<non-airflow services>
logs/ `helm upgrade --install ...` output
history.go:56: 2025-07-11 04:49:31.545125262 -0400 EDT m=+0.056526162 [debug] getting history for release airflow
Release "airflow" does not exist. Installing it now.
install.go:225: 2025-07-11 04:49:31.551304668 -0400 EDT m=+0.062705568 [debug] Original chart version: ""
install.go:242: 2025-07-11 04:49:32.241497293 -0400 EDT m=+0.752898203 [debug] CHART PATH: /home/my-username/.cache/helm/repository/airflow-1.17.0.tgz
client.go:506: 2025-07-11 04:49:33.703020184 -0400 EDT m=+2.214421083 [debug] Starting delete for "airflow-broker-url" Secret
wait.go:114: 2025-07-11 04:49:33.709793093 -0400 EDT m=+2.221193989 [debug] beginning wait for 1 resources to be deleted with timeout of 5m0s
client.go:144: 2025-07-11 04:49:33.894115484 -0400 EDT m=+2.405516435 [debug] creating 1 resource(s)
client.go:506: 2025-07-11 04:49:33.904842899 -0400 EDT m=+2.416243799 [debug] Starting delete for "airflow-fernet-key" Secret
wait.go:114: 2025-07-11 04:49:33.911308499 -0400 EDT m=+2.422709406 [debug] beginning wait for 1 resources to be deleted with timeout of 5m0s
client.go:144: 2025-07-11 04:49:34.094108082 -0400 EDT m=+2.605508997 [debug] creating 1 resource(s)
client.go:506: 2025-07-11 04:49:34.106763765 -0400 EDT m=+2.618164667 [debug] Starting delete for "airflow-redis-password" Secret
wait.go:114: 2025-07-11 04:49:34.114126297 -0400 EDT m=+2.625527196 [debug] beginning wait for 1 resources to be deleted with timeout of 5m0s
client.go:144: 2025-07-11 04:49:34.322754278 -0400 EDT m=+2.834155194 [debug] creating 1 resource(s)
client.go:144: 2025-07-11 04:49:34.329851069 -0400 EDT m=+2.841251965 [debug] creating 34 resource(s)
client.go:506: 2025-07-11 04:49:34.646141042 -0400 EDT m=+3.157541947 [debug] Starting delete for "airflow-run-airflow-migrations" Job
wait.go:114: 2025-07-11 04:49:34.674430928 -0400 EDT m=+3.185831836 [debug] beginning wait for 1 resources to be deleted with timeout of 5m0s
client.go:144: 2025-07-11 04:49:35.084639396 -0400 EDT m=+3.596040312 [debug] creating 1 resource(s)
client.go:753: 2025-07-11 04:49:35.129600624 -0400 EDT m=+3.641001524 [debug] Watching for changes to Job airflow-run-airflow-migrations with timeout of 5m0s
client.go:781: 2025-07-11 04:49:35.146596426 -0400 EDT m=+3.657997331 [debug] Add/Modify event for airflow-run-airflow-migrations: ADDED
client.go:820: 2025-07-11 04:49:35.146668534 -0400 EDT m=+3.658069435 [debug] airflow-run-airflow-migrations: Jobs active: 0, jobs failed: 0, jobs succeeded: 0
client.go:781: 2025-07-11 04:49:35.209837963 -0400 EDT m=+3.721238878 [debug] Add/Modify event for airflow-run-airflow-migrations: MODIFIED
client.go:820: 2025-07-11 04:49:35.209873943 -0400 EDT m=+3.721274843 [debug] airflow-run-airflow-migrations: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
client.go:781: 2025-07-11 04:49:39.599165334 -0400 EDT m=+8.110566234 [debug] Add/Modify event for airflow-run-airflow-migrations: MODIFIED
client.go:820: 2025-07-11 04:49:39.599208539 -0400 EDT m=+8.110609438 [debug] airflow-run-airflow-migrations: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
client.go:781: 2025-07-11 04:50:02.673171335 -0400 EDT m=+31.184572341 [debug] Add/Modify event for airflow-run-airflow-migrations: MODIFIED
client.go:820: 2025-07-11 04:50:02.673241354 -0400 EDT m=+31.184642254 [debug] airflow-run-airflow-migrations: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
client.go:781: 2025-07-11 04:50:03.684319966 -0400 EDT m=+32.195720882 [debug] Add/Modify event for airflow-run-airflow-migrations: MODIFIED
client.go:820: 2025-07-11 04:50:03.684372173 -0400 EDT m=+32.195773072 [debug] airflow-run-airflow-migrations: Jobs active: 0, jobs failed: 0, jobs succeeded: 0
client.go:781: 2025-07-11 04:50:03.729639424 -0400 EDT m=+32.241040340 [debug] Add/Modify event for airflow-run-airflow-migrations: MODIFIED
client.go:506: 2025-07-11 04:50:03.735867085 -0400 EDT m=+32.247267985 [debug] Starting delete for "airflow-create-user" Job
client.go:510: 2025-07-11 04:50:03.739741424 -0400 EDT m=+32.251142340 [debug] Ignoring delete failure for "airflow-create-user" batch/v1, Kind=Job: jobs.batch "airflow-create-user" not found
wait.go:114: 2025-07-11 04:50:03.739940247 -0400 EDT m=+32.251341161 [debug] beginning wait for 1 resources to be deleted with timeout of 5m0s
client.go:144: 2025-07-11 04:50:03.905736534 -0400 EDT m=+32.417137488 [debug] creating 1 resource(s)
client.go:753: 2025-07-11 04:50:03.925754386 -0400 EDT m=+32.437155287 [debug] Watching for changes to Job airflow-create-user with timeout of 5m0s
client.go:781: 2025-07-11 04:50:03.929377944 -0400 EDT m=+32.440778857 [debug] Add/Modify event for airflow-create-user: ADDED
client.go:820: 2025-07-11 04:50:03.92940602 -0400 EDT m=+32.440806920 [debug] airflow-create-user: Jobs active: 0, jobs failed: 0, jobs succeeded: 0
client.go:781: 2025-07-11 04:50:03.971081717 -0400 EDT m=+32.482482632 [debug] Add/Modify event for airflow-create-user: MODIFIED
client.go:820: 2025-07-11 04:50:03.971129055 -0400 EDT m=+32.482529954 [debug] airflow-create-user: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
client.go:781: 2025-07-11 04:50:07.504813384 -0400 EDT m=+36.016214300 [debug] Add/Modify event for airflow-create-user: MODIFIED
client.go:820: 2025-07-11 04:50:07.504854763 -0400 EDT m=+36.016255661 [debug] airflow-create-user: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
client.go:781: 2025-07-11 04:50:20.550795883 -0400 EDT m=+49.062196799 [debug] Add/Modify event for airflow-create-user: MODIFIED
client.go:820: 2025-07-11 04:50:20.55083397 -0400 EDT m=+49.062234870 [debug] airflow-create-user: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
client.go:781: 2025-07-11 04:50:21.565168274 -0400 EDT m=+50.076569190 [debug] Add/Modify event for airflow-create-user: MODIFIED
client.go:820: 2025-07-11 04:50:21.565208323 -0400 EDT m=+50.076609222 [debug] airflow-create-user: Jobs active: 0, jobs failed: 0, jobs succeeded: 0
client.go:781: 2025-07-11 04:50:21.617496159 -0400 EDT m=+50.128897075 [debug] Add/Modify event for airflow-create-user: MODIFIED
client.go:506: 2025-07-11 04:50:21.623682259 -0400 EDT m=+50.135083169 [debug] Starting delete for "airflow-create-user" Job
wait.go:114: 2025-07-11 04:50:21.631907385 -0400 EDT m=+50.143308295 [debug] beginning wait for 1 resources to be deleted with timeout of 5m0s
client.go:506: 2025-07-11 04:50:21.645159041 -0400 EDT m=+50.156559940 [debug] Starting delete for "airflow-run-airflow-migrations" Job
wait.go:114: 2025-07-11 04:50:21.655232454 -0400 EDT m=+50.166633350 [debug] beginning wait for 1 resources to be deleted with timeout of 5m0s
NAME: airflow
LAST DEPLOYED: Fri Jul 11 04:49:32 2025
NAMESPACE: my-namespace
STATUS: deployed
REVISION: 1
TEST SUITE: None
USER-SUPPLIED VALUES:
{}
COMPUTED VALUES:
<omitted>
---
# Source: airflow/templates/api-server/api-server-ingress.yaml
################################
## Airflow API Server Ingress
#################################
---
# Source: airflow/templates/api-server/api-server-networkpolicy.yaml
################################
## Airflow API Server NetworkPolicy
#################################
---
# Source: airflow/templates/api-server/api-server-poddisruptionbudget.yaml
################################
## Airflow API Server PodDisruptionBudget
#################################
---
# Source: airflow/templates/cleanup/cleanup-cronjob.yaml
################################
## Airflow Cleanup Pods CronJob
#################################
---
# Source: airflow/templates/cleanup/cleanup-serviceaccount.yaml
################################
## Airflow Cleanup ServiceAccount
#################################
---
# Source: airflow/templates/configmaps/api-server-configmap.yaml
################################
## Airflow ConfigMap
#################################
---
# Source: airflow/templates/configmaps/extra-configmaps.yaml
####################################################
## Extra ConfigMaps provisioned via the chart values
####################################################
---
# Source: airflow/templates/configmaps/webserver-configmap.yaml
################################
## Airflow ConfigMap
#################################
---
# Source: airflow/templates/dags-persistent-volume-claim.yaml
######################################
## Airflow DAGs PersistentVolumeClaim
######################################
---
# Source: airflow/templates/flower/flower-deployment.yaml
################################
## Airflow Flower Deployment
#################################
---
# Source: airflow/templates/flower/flower-ingress.yaml
################################
## Airflow Flower Ingress
#################################
---
# Source: airflow/templates/flower/flower-networkpolicy.yaml
################################
## Airflow Flower NetworkPolicy
#################################
---
# Source: airflow/templates/flower/flower-service.yaml
################################
## Airflow Flower Service Component
#################################
---
# Source: airflow/templates/flower/flower-serviceaccount.yaml
######################################
## Airflow Flower ServiceAccount
######################################
---
# Source: airflow/templates/limitrange.yaml
################################
## Airflow Namespace LimitRange
#################################
---
# Source: airflow/templates/logs-persistent-volume-claim.yaml
######################################
## Airflow LOGs PersistentVolumeClaim
######################################
---
# Source: airflow/templates/pgbouncer/pgbouncer-deployment.yaml
################################
## Airflow Pgbouncer Deployment
#################################
---
# Source: airflow/templates/pgbouncer/pgbouncer-ingress.yaml
################################
## Airflow Pgbouncer Ingress
#################################
---
# Source: airflow/templates/pgbouncer/pgbouncer-networkpolicy.yaml
################################
## Pgbouncer NetworkPolicy
#################################
---
# Source: airflow/templates/pgbouncer/pgbouncer-poddisruptionbudget.yaml
################################
## Pgbouncer PodDisruptionBudget
#################################
---
# Source: airflow/templates/pgbouncer/pgbouncer-service.yaml
################################
## Airflow Pgbouncer Service
#################################
---
# Source: airflow/templates/pgbouncer/pgbouncer-serviceaccount.yaml
######################################
## Airflow Pgbouncer ServiceAccount
######################################
---
# Source: airflow/templates/priorityclasses/priority-classes.yaml
#################################################
## Priority classes provisioned via the chart values
#################################################
---
# Source: airflow/templates/rbac/pod-cleanup-role.yaml
################################
## Airflow Cleanup Role
#################################
---
# Source: airflow/templates/rbac/pod-cleanup-rolebinding.yaml
################################
## Airflow Cleanup Role Binding
#################################
---
# Source: airflow/templates/rbac/security-context-constraint-rolebinding.yaml
################################
## Airflow SCC Role Binding
#################################
---
# Source: airflow/templates/redis/redis-networkpolicy.yaml
################################
## Airflow Redis NetworkPolicy
#################################
---
# Source: airflow/templates/resourcequota.yaml
################################
## Airflow Namespace ResourceQuota
#################################
---
# Source: airflow/templates/scheduler/scheduler-networkpolicy.yaml
################################
## Airflow Scheduler NetworkPolicy
#################################
---
# Source: airflow/templates/scheduler/scheduler-poddisruptionbudget.yaml
################################
## Airflow Scheduler PodDisruptionBudget
#################################
---
# Source: airflow/templates/scheduler/scheduler-service.yaml
################################
## Airflow Scheduler Service
#################################
---
# Source: airflow/templates/secrets/elasticsearch-secret.yaml
################################
## Elasticsearch Secret
#################################
---
# Source: airflow/templates/secrets/extra-secrets.yaml
#################################################
## Extra Secrets provisioned via the chart values
#################################################
---
# Source: airflow/templates/secrets/flower-secret.yaml
################################
## Flower Secret
#################################
---
# Source: airflow/templates/secrets/kerberos-keytab-secret.yaml
################################
## Kerberos Secret
#################################
---
# Source: airflow/templates/secrets/opensearch-secret.yaml
################################
## OpenSearch Secret
#################################
---
# Source: airflow/templates/secrets/pgbouncer-certificates-secret.yaml
################################
## Pgbouncer Certificate Secret
#################################
---
# Source: airflow/templates/secrets/pgbouncer-config-secret.yaml
################################
## Pgbouncer Config Secret
#################################
---
# Source: airflow/templates/secrets/pgbouncer-stats-secret.yaml
################################
## Pgbouncer Stats Secret
#################################
---
# Source: airflow/templates/secrets/registry-secret.yaml
################################
## Registry Secret
#################################
---
# Source: airflow/templates/secrets/result-backend-connection-secret.yaml
################################
## Airflow Result Backend Secret
#################################
---
# Source: airflow/templates/statsd/statsd-ingress.yaml
################################
## Airflow Statsd Ingress
#################################
---
# Source: airflow/templates/statsd/statsd-networkpolicy.yaml
################################
## Airflow StatsD NetworkPolicy
#################################
---
# Source: airflow/templates/triggerer/triggerer-kedaautoscaler.yaml
################################
## Airflow Triggerer KEDA Scaler
#################################
---
# Source: airflow/templates/triggerer/triggerer-networkpolicy.yaml
##################################
## Airflow triggerer NetworkPolicy
##################################
---
# Source: airflow/templates/webserver/webserver-deployment.yaml
################################
## Airflow Webserver Deployment
#################################
---
# Source: airflow/templates/webserver/webserver-hpa.yaml
################################
## Airflow Webserver HPA
#################################
---
# Source: airflow/templates/webserver/webserver-ingress.yaml
################################
## Airflow Webserver Ingress
#################################
---
# Source: airflow/templates/webserver/webserver-networkpolicy.yaml
################################
## Airflow Webserver NetworkPolicy
#################################
---
# Source: airflow/templates/webserver/webserver-poddisruptionbudget.yaml
################################
## Airflow Webserver PodDisruptionBudget
#################################
---
# Source: airflow/templates/webserver/webserver-service.yaml
################################
## Airflow Webserver Service
#################################
---
# Source: airflow/templates/webserver/webserver-serviceaccount.yaml
######################################
## Airflow Webserver ServiceAccount
######################################
---
# Source: airflow/templates/workers/worker-hpa.yaml
################################
## Airflow Worker HPA
#################################
---
# Source: airflow/templates/workers/worker-kedaautoscaler.yaml
################################
## Airflow Worker KEDA Scaler
#################################
---
# Source: airflow/templates/workers/worker-networkpolicy.yaml
################################
## Airflow Worker NetworkPolicy
#################################
NOTES:
Thank you for installing Apache Airflow 3.0.2!
Your release is named airflow.
You can now access your dashboard(s) by executing the following command(s) and visiting the corresponding port at localhost in your browser:
Airflow Webserver: kubectl port-forward svc/airflow-webserver 8080:8080 --namespace my-namespace
Default Webserver (Airflow UI) Login credentials:
username: admin
password: admin
Default Postgres connection credentials:
username: postgres
password: postgres
port: 5432
You can get Fernet Key value by running the following:
echo Fernet Key: $(kubectl get secret --namespace my-namespace airflow-fernet-key -o jsonpath="{.data.fernet-key}" | base64 --decode)
###########################################################
# WARNING: You should set a static webserver secret key #
###########################################################
You are using a dynamically generated webserver secret key, which can lead to
unnecessary restarts of your Airflow components.
Information on how to set a static webserver secret key can be found here:
https://airflow.apache.org/docs/helm-chart/stable/production-guide.html#webserver-secret-key
Are you willing to submit PR?
- Yes I am willing to submit a PR!
Code of Conduct
- I agree to follow this project's Code of Conduct