【问题标题】:How to expose localhost airflow with nginx-ingress-controller Kubernetes如何使用 nginx-ingress-controller Kubernetes 暴露 localhost 气流
【发布时间】:2020-09-05 13:45:43
【问题描述】:

我已经在 kubernetes 中部署了气流,如以下链接所述:https://github.com/apache/airflow/tree/master/chart

要访问气流用户界面,我可以这样做:

 kubectl port-forward svc/airflow2-webserver 8080:8080 --namespace default

但我想在 url 中公开它。我找到了这份指南:https://godatadriven.com/blog/deploying-apache-airflow-on-azure-kubernetes-service/

在底部:带有 Ingress 控制器的 FQDN,他安装了一个 nginx-ingress-controller。

我对与此事相关的所有事情都很陌生,所以如果我理解正确,我必须链接端口 8080,在该端口中气流暴露气流 UI,并以某种方式将其与具有 nginx-ingress-controller 的外部 IP 将 localhost:8080 暴露给这个外部 IP,然后能够在 kubernetes 之外访问它。

对吗?

【问题讨论】:

    标签: kubernetes airflow kubernetes-ingress nginx-ingress


    【解决方案1】:

    基本上,您将创建一个负载均衡器类型的服务对象,该对象将被分配一个公共 IP 给负载均衡器。然后该服务会将请求重定向到与标签选择器匹配的 pod 集。您可以拥有一个 nginx 入口控制器,因为这些 pod 可以根据入口规则代理传递集群内的所有请求。您正在使用 nginx 入口控制器,因此您只有一个负载均衡器和许多应用程序正在运行,而不是让许多服务单独公开。我希望这能澄清一些事情。

    【讨论】:

    • 感谢您的回答。然后我有一个外部 IP 和 nginx 入口控制器的端口 80:30064、43:31402,现在如何在 kubernetes 中创建一个服务对象,以便能够使用这个外部 IP 查看指向 localhost:8080 的气流 UI?
    • 您分享的网址包含所有步骤。完全按照它。相应地替换变量,例如 yourairflowdnsname.yourazurelocation.cloudapp.azure.com 等。完成后,您可以使用此 URL yourairflowdnsname.yourazurelocation.cloudapp.azure.com 在 Web 浏览器中访问您的应用程序
    猜你喜欢
    • 2019-02-24
    • 2021-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    • 1970-01-01
    • 2022-07-11
    • 2019-04-03
    相关资源
    最近更新 更多