如何使用Nginx-ingress-controller Kubernetes公开localhost气流

问题描述

我已在此链接中描述的在Kubernetes中部署了气流:https://github.com/apache/airflow/tree/master/chart

我可以执行以下操作以访问气流UI:

 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。

在与此问题相关的所有事物上我都还很陌生,因此,如果我理解正确,我必须链接气流暴露出气流UI的端口8080,并以某种方式将其链接到具有以下内容nginx-ingress-controller外部IP,将localhost:8080暴露给该外部IP,然后可以在kubernetes之外访问它。

对吗?

解决方法

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