如何使用 nginx-ingress-controller Kubernetes 公开本地主机气流

How to expose localhost airflow with nginx-ingress-controller Kubernetes

我已经在 kubernetes 中部署了 airflow,正如这个 link 中描述的那样: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/

在底部:FQDN with Ingress controller,他安装了一个nginx-ingress-controller。

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

正确吗?

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