You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Kubernetes中部署的Airflow如何对外暴露REST API接口

Airflow API跨网络访问可行配置方案

以下是适配Azure Kubernetes(AKS)环境、基于官方Airflow Helm Chart的三种可落地配置方向:

方案1:调整Webserver Service类型(快速验证场景)

默认官方Chart的Airflow Webserver Service为ClusterIP类型,仅支持集群内部访问,修改配置即可直接对外暴露:

  • 在自定义values.yaml中添加如下配置:
webserver:
  service:
    # 改为LoadBalancer类型后AKS会自动分配公网IP
    type: LoadBalancer
    # 可选:配置固定公网IP,需提前在AKS同资源组创建静态公网IP
    # loadBalancerIP: "你的静态公网IP地址"
    # 可选:配置访问源IP白名单,避免公网全量暴露
    # loadBalancerSourceRanges:
    # - "10.0.0.0/24" # 替换为允许访问的业务网段
  • 执行配置更新命令生效:helm upgrade airflow apache-airflow/airflow -f 你的自定义values.yaml路径 -n airflow命名空间
  • 生效后通过AKS分配的LoadBalancer公网IP+8080端口即可访问API。

方案2:通过Ingress暴露(生产环境推荐)

生产环境建议通过Ingress统一管理流量入口,提前确认集群已部署Ingress Controller(如Nginx Ingress):

  • 在自定义values.yaml中添加如下Ingress配置:
ingress:
  enabled: true
  ingressClassName: "nginx" # 替换为你的集群Ingress Class名称
  web:
    host: "airflow.你的业务域名.com" # 替换为要绑定的访问域名
    tls:
      enabled: true
      secretName: "airflow-tls-cert" # 替换为存储SSL证书的Secret名称
  • 执行helm upgrade命令更新配置,将域名解析到Ingress Controller的公网IP后,即可通过域名访问Airflow UI和API。
  • 额外安全配置支持:可在Ingress层配置IP白名单、身份认证中间件,进一步提升API安全性。

方案3:私网VPC暴露(无公网需求场景)

如果API调用方仅在Azure同VPC/对等VPC内部,可配置内网LoadBalancer避免公网暴露:

  • 在自定义values.yaml中添加如下配置:
webserver:
  service:
    type: LoadBalancer
    annotations:
      service.beta.kubernetes.io/azure-load-balancer-internal: "true"
      # 可选:指定内网IP所属的子网
      # service.beta.kubernetes.io/azure-load-balancer-internal-subnet: "你的子网名称"
  • 生效后AKS会生成VPC内的私网负载均衡IP,同VPC内的所有服务均可通过该IP访问API。

通用注意事项

  • 所有暴露场景均建议保留Airflow默认的RBAC API认证,调用API时携带合规的Authorization请求头,不要随意关闭认证配置。
  • 公网暴露场景必须配置访问源限制,避免未授权访问风险。

内容的提问来源于stack exchange,提问作者adan11

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 03:39:01