专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
airflow

bitnamicharts/airflow

bitnamicharts

Bitnami提供的Apache Airflow Helm chart,用于在Kubernetes环境中便捷部署和管理工作流编排平台。

5 次收藏下载次数: 0状态:社区镜像维护者:bitnamicharts仓库类型:镜像最近更新:8 个月前
轩辕镜像,快一点,稳很多。点击查看
中文简介
标签下载
镜像标签列表与下载命令
轩辕镜像,快一点,稳很多。点击查看

Bitnami Apache Airflow Helm Chart

镜像概述和主要用途

Apache Airflow 是一个用于以有向无环图(DAGs)形式表达和执行工作流的工具,包含任务调度、进度监控和依赖管理等功能。Bitnami 提供的该 Helm Chart 用于在 Kubernetes 集群上快速部署和配置 Apache Airflow,简化其在容器化环境中的管理流程。

Apache Airflow 官方概述

商标说明:本软件包由 Bitnami 打包,提及的商标分属各自公司所有,使用不意味着关联或背书。

核心功能和特性

  • 多执行器支持:兼容 CeleryExecutor、KubernetesExecutor、LocalExecutor 等多种执行器,适应不同规模的工作负载
  • 灵活的 DAG 加载:支持通过现有 ConfigMap 或 Git 仓库(含自动同步)加载自定义 DAG 文件
  • 插件扩展:可从 Git 仓库加载插件,并通过 sidecar 容器定期更新
  • 安全配置:支持 TLS 加密(Ingress 或直接配置 Webserver)、密钥管理(现有 Secret 集成)
  • 监控集成:可与 Prometheus 联动,通过 StatsD 导出指标,支持 ServiceMonitor 配置
  • 资源管理:支持设置资源请求与限制,提供资源预设(resourcesPreset)简化配置
  • 自动数据库初始化:通过 Helm Hook 自动执行数据库迁移和管理员用户创建
  • 高可用性:支持 worker pod 自动扩缩容(KubernetesExecutor 原生支持,其他执行器需配置 HPA)

使用场景和适用范围

  • 开发环境:快速搭建 Airflow 实例,用于工作流开发和测试
  • 生产环境:通过配置硬化镜像(Bitnami Secure Images)、资源限制和持久化存储,支持生产级工作流调度
  • 大规模任务处理:结合 KubernetesExecutor 或 CeleryExecutor,处理高并发任务队列
  • CI/CD 集成:作为数据处理、ETL 流程的调度核心,与 CI/CD 管道联动
  • 多团队协作:通过 Git 同步 DAGs 和插件,支持多团队共享 Airflow 实例

前提条件

  • Kubernetes 集群版本 1.23+
  • Helm 版本 3.8.0+
  • 底层基础设施支持 PV 动态供应(Persistent Volume Provisioner)

详细使用方法和配置说明

快速部署(TL;DR)

console
helm install my-release oci://registry-1.docker.io/bitnamicharts/airflow

生产环境建议使用 VMware Tanzu Application Catalog(Bitnami 商业版目录)。

重要通知:Bitnami 镜像目录即将变更

自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,推出 Bitnami Secure Images 计划,重点提供安全硬化的容器镜像。过渡期间注意:

  • 社区用户首次可访问安全优化镜像:提供经过安全加固、***面更小的容器镜像
  • 非硬化镜像逐步弃用:免费 tier 将逐步停止支持基于 Debian 的非硬化镜像,仅保留最新(latest)标签用于开发
  • 旧镜像迁移:所有现有容器镜像(含历史版本标签,如 2.50.0、10.6)将在两周内迁移至 docker.io/bitnamilegacy 仓库,不再更新
  • 生产环境建议:生产工作负载需采用 Bitnami Secure Images,包含硬化容器、CVE 透明度(VEX/KEV)、SBOM 和企业支持

详细信息见 https://github.com/bitnami/containers/issues/83267%E3%80%82

安装 Chart

使用发布名称 my-release 安装:

console
helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/airflow

需替换占位符:REGISTRY_NAME 为 Helm 镜像仓库(如 registry-1.docker.io),REPOSITORY_NAME 为仓库名称(如 bitnamicharts)。

执行器配置

Airflow 支持多种执行器,通过 executor 参数指定:

CeleryExecutor(默认)

基于 Redis 消息队列协调 worker 节点,适用于分布式任务处理:

console
executor=CeleryExecutor  # 默认启用,无需额外配置

KubernetesExecutor

为每个任务动态创建 worker pod,无需预置 worker:

console
executor=KubernetesExecutor
rbac.create=true
serviceAccount.create=true
redis.enabled=false  # 无需 Redis,可禁用

任务 pod 模板通过 worker.podTemplate 自定义。

LocalExecutor

在 Scheduler pod 内通过进程池执行任务:

console
executor=LocalExecutor
redis.enabled=false

其他执行器

  • CeleryKubernetesExecutor:混合模式,默认使用 Celery,指定队列任务使用 Kubernetes(Airflow 3.0.0 起已弃用)
  • LocalKubernetesExecutor:混合模式,默认使用 Local,指定队列任务使用 Kubernetes(Airflow 3.0.0 起已弃用)
  • SequentialExecutor:单任务串行执行,仅用于开发(Airflow 3.0.0 起已弃用)

更新凭证

Bitnami Chart 在首次启动时配置凭证,后续更新需手动操作:

  1. 按 上游文档 更新用户密码
  2. 更新 Secret 中的凭证(替换占位符):
shell
kubectl create secret generic SECRET_NAME \
  --from-literal=airflow-password=PASSWORD \
  --from-literal=airflow-fernet-key=FERNET_KEY \
  --from-literal=airflow-secret-key=SECRET_KEY \
  --from-literal=airflow-jwt-secret-key=JWT_SECRET_KEY \
  --dry-run -o yaml | kubectl apply -f -

Airflow 配置文件

自动生成配置

默认根据 Chart 参数自动生成 airflow.cfg,例如 executor 参数对应 [core] 部分的 executor 配置。

自定义配置

通过 configuration 参数提供完整配置(YAML 格式):

yaml
configuration:
  core:
    dags_folder: "/opt/bitnami/airflow/dags"
    load_examples: "False"
  webserver:
    expose_config: "True"

将被转换为:

ini
[core]
dags_folder = "/opt/bitnami/airflow/dags"
load_examples = "False"

[webserver]
expose_config = "True"

扩展默认配置

通过 overrideConfiguration 参数覆盖默认配置,优先级高于 configuration:

yaml
overrideConfiguration:
  core:
    parallelism: 32

加载 DAG 文件

支持以下两种方式(可同时使用):

方式 1:使用现有 ConfigMap

  1. 手动创建包含 DAG 文件的 ConfigMap
  2. 部署时指定:
console
dags.enabled=true
dags.existingConfigmap=my-dags-configmap

方式 2:从 Git 仓库同步

通过 initContainer 克隆仓库,sidecar 容器定期更新:

console
dags.enabled=true
dags.repositories[0].repository=https://github.com/USERNAME/REPOSITORY  # Git 仓库地址
dags.repositories[0].name=REPO-IDENTIFIER  # 仓库标识(唯一)
dags.repositories[0].branch=main  # 分支
  • 私有仓库:支持 HTTPS(嵌入 Personal Access Token:https://USERNAME:TOKEN@repo)或 SSH(通过 dags.sshKey 或 dags.existingSshKeySecret 配置密钥)

加载插件

从 Git 仓库加载插件,配置方式类似 DAG:

console
plugins.enabled=true
plugins.repositories[0].repository=https://github.com/teamclairvoyant/airflow-rest-api-plugin.git
plugins.repositories[0].branch=v1.0.9-branch
plugins.repositories[0].path=plugins  # 插件在仓库中的路径

安装额外 Python 包

通过 extraVolumes 和 extraVolumeMounts 挂载 requirements.txt 至 /bitnami/python/requirements.txt,容器启动时自动执行 pip install -r:

yaml
extraVolumes:
  - name: requirements-volume
    configMap:
      name: airflow-requirements
extraVolumeMounts:
  - name: requirements-volume
    mountPath: /bitnami/python/requirements.txt
    subPath: requirements.txt

外部数据库和缓存配置

使用外部 PostgreSQL

console
postgresql.enabled=false  # 禁用内置 PostgreSQL
externalDatabase.host=my.external.postgres.host  # 外部数据库地址
externalDatabase.user=bn_airflow  # 用户名
externalDatabase.database=bitnami_airflow  # 数据库名
externalDatabase.existingSecret=all-my-secrets  # 存储密码的 Secret 名称
externalDatabase.existingSecretPasswordKey=postgresql-password  # Secret 中密码的 Key

使用外部 Redis(仅 CeleryExecutor)

console
redis.enabled=false  # 禁用内置 Redis
externalRedis.host=my.external.redis.host  # 外部 Redis 地址
externalRedis.existingSecret=all-my-secrets  # 存储密码的 Secret 名称
externalRedis.existingSecretPasswordKey=redis-password  # Secret 中密码的 Key

现有 Secret 示例

yaml
apiVersion: v1
kind: Secret
metadata:
  name: all-my-secrets
type: Opaque
data:
  airflow-password: "Smo1QTJLdGxXMg=="  # base64 编码的密码
  airflow-fernet-key: "YVRZeVJVWnlXbU4wY1dOalVrdE1SV3cxWWtKeFIzWkVRVTVrVjNaTFR6WT0="
  postgresql-password: "cG9zdGdyZXMK"
  redis-password: "cmVkaXMK"

监控集成(Prometheus)

基本配置

启用 StatsD 指标导出和 Prometheus 集成:

console
metrics.enabled=true

Chart 会部署 StatsD Exporter,将指标转换为 Prometheus 格式。

Prometheus Operator 集成

部署 ServiceMonitor 资源:

console
metrics.serviceMonitor.enabled=true

需确保集群已安装 Prometheus Operator CRD(可通过 https://github.com/bitnami/charts/tree/main/bitnami/kube-prometheus 安装)。

安全配置

Ingress TLS

通过 Ingress 控制器管理 TLS:

console
ingress.enabled=true
ingress.tls=true
ingress.hostname=airflow.example.com
ingress.tlsSecret=airflow-tls-secret  # 包含 tls.crt 和 tls.key 的 Secret

Webserver 直接 TLS

配置 Webserver 自身启用 TLS:

console
web.tls.enabled=true
web.tls.existingSecret=web-tls-secret  # 现有 TLS Secret
  • 自动生成证书:支持 Helm 生成(web.tls.autoGenerated.engine=helm)或 CertManager(engine=cert-manager,需集群安装 CertManager)

资源配置

手动设置资源请求与限制

yaml
web:
  resources:
    requests:
      cpu: 200m
      memory: 256Mi
    limits:
      cpu: 1000m
      memory: 1Gi
scheduler:
  resources:
    requests:
      cpu: 300m
      memory: 512Mi
worker:
  resources:
    requests:
      cpu: 500m
      memory: 1Gi

使用资源预设

通过 resourcesPreset 快速应用预定义配置(如 small、medium,定义见 https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15%EF%BC%89%EF%BC%9A

console
web.resourcesPreset=medium
scheduler.resourcesPreset=medium
worker.resourcesPreset=large

持久化

Airflow 自身无持久化存储需求,依赖 PostgreSQL 存储元数据(由 PostgreSQL Chart 管理持久化)。

参数说明

全局参数

参数名描述默认值
global.imageRegistry全局 Docker 镜像仓库""
global.imagePullSecrets全局镜像拉取密钥列表[]
global.defaultStorageClass持久化存储的默认 StorageClass""

完整参数列表:由于长度限制,完整参数请参考 https://github.com/bitnami/charts/blob/main/bitnami/airflow/README.md%E3%80%82

备份与恢复

使用 Velero 备份和恢复 Kubernetes 集群中的持久化卷及部署配置,具体步骤见 Bitnami 备份指南。

更多相关 Docker 镜像与资源

以下是 bitnamicharts/airflow 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:

  • apache/airflow Docker 镜像说明(Apache Airflow,工作流调度平台)
  • library/flink Docker 镜像说明(Apache Flink,流处理和批处理大数据引擎)
  • bitnami/spark Docker 镜像说明(Apache Spark 大数据处理引擎,Bitnami 企业级配置)
  • library/spark Docker 镜像说明(Apache Spark 大数据处理引擎,官方标准版本)
  • apache/spark Docker 镜像说明(Apache Spark 大数据处理引擎,Apache 官方版本)

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 airflow 镜像标签

docker pull docker.xuanyuan.run/bitnamicharts/airflow:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull bitnamicharts/airflow:<标签>

更多 airflow 镜像推荐

apache/airflow logo

apache/airflow

Apache 软件基金会镜像
Apache Airflow是一个开源的工作流编排平台,旨在通过编程方式(主要使用Python)定义、调度和监控复杂工作流,它以有向无环图(DAG)形式管理任务依赖关系,支持灵活的调度策略(如基于时间、事件或依赖),提供直观的Web界面用于任务状态监控与管理,具备高度可扩展性,可集成多种数据处理工具、云服务及外部系统,广泛应用于数据管道构建、ETL流程自动化、机器学习工作流编排等场景,帮助用户高效管理和执行复杂的任务流程。
626 次收藏10亿+ 次下载
6 天前更新
bitnami/airflow logo

bitnami/airflow

Bitnami Secure Images(VMware Tanzu)
Bitnami Airflow 安全镜像
78 次收藏1000万+ 次下载
8 个月前更新
localstack/airflow logo

localstack/airflow

localstack
Custom builds of Airflow for use with LocalStack
8.2千+ 次下载
3 个月前更新
opensourcemano/airflow logo

opensourcemano/airflow

opensourcemano
该Docker镜像包含ETSI OSM项目软件及基础发行版的Bash等依赖组件,遵循OSM软件许可证,适用于OSM相关应用的运行与开发。
10万+ 次下载
2 个月前更新
ubuntu/airflow logo

ubuntu/airflow

Ubuntu 官方镜像
基于Ubuntu的Apache Airflow Docker镜像,提供工作流管理平台,用于数据工程管道的程序化创作、调度和监控。
1.3千+ 次下载
1 个月前更新
airflowjobs/airflow logo

airflowjobs/airflow

airflowjobs
暂无描述
1万+ 次下载
2 年前更新

查看更多 airflow 相关镜像

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

轩辕镜像合规吗?轩辕镜像的合规是怎么做的?

镜像合规机制

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

docker 无法连接轩辕镜像域名怎么办?

域名连通性排查

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

轩辕镜像免费版和专业版有什么区别?

免费版与专业版区别

轩辕镜像支持哪些 Docker 镜像仓库?

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
bitnamicharts/airflow
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单,官方技术交流群:1072982923。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单,官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.