我已经在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入口控制器。
我对与此相关的一切都很陌生,所以如果我理解正确,我必须链接airflow暴露airflow UI的端口8080,并以某种方式将其与具有外部IP的nginx入口控制器链接,以将localhost:8080暴露给该外部IP,然后能够在kubernetes之外访问它。
这是正确的吗?
基本上,您将创建一个类型为负载平衡器的服务对象,该对象将被分配一个公共ip给负载平衡器。然后,该服务将把请求重定向到一组匹配标签选择器的pod。你可以有一个nginxingress控制器作为这些pod,它可以根据ingress规则代理传递集群内的所有请求。您正在使用nginxingress控制器,这样您就只有一个负载均衡器和许多应用程序在运行,而不是让许多服务单独公开。我希望这能澄清问题。