我可以在没有 nginx 入口的情况下直接使用 F5 BIG-IP Kubernetes 控制器作为入口控制器吗?

can i use F5 BIG-IP Kubernetes Controller as ingress controller directly without nginx ingress?

我正在努力将 F5 放在 K8S 集群前面,并寻找实现它的最佳方法。

在F5-BIG-IP-Controller for K8S的文档中https://clouddocs.f5.com/products/connectors/k8s-bigip-ctlr/v1.9/ 我明白了:

Forwards traffic from the BIG-IP device to Kubernetes clusters via NodePort or ClusterIP.

我不确定将我的所有服务作为 nodePorts 放置以供 F5 访问是否是个好主意,我的实际解决方案是:将 nginx-ingress 与 nodeport 服务一起接收来自 F5 的所有流量和然后管理集群内部负载均衡。至少 2 级负载平衡 :D

client --"internet"--> f5 --"private-net"--> k8S-node --"K8S-net"--> nginx-ingress -> Service -> Pod

我在任何地方都找不到如何使用控制器作为 clusterIP 的代理,我试图找出控制器(或 F5 的任何其他资源)是否可以用作代理来转发集群内部。

我们的想法是找出最好的方法。

如果你想使用 Nginx Ingress 那么你必须将你的 Nginx Ingress 暴露为 NodePort 然后点 F5 使用 TCP 平衡到所有 Kubernetes 节点到 Nginx Ingress 的节点端口。

如果您希望 F5 本身充当入口控制器 - 请参考此说明:http://blog.itp-inc.com/how-to-integrate-f5-with-kubernetes-for-application-load-balancing/

F5 为 Kubernetes 提供了一个新的 "Container Ingress Services",如果 Vasily 的回答没有涵盖您的场景,它也可以解决您的需求。

Introduction to F5 Container Ingress Services