我正在努力将F5放在K8S集群前面,并寻找最好的方法。
在用于K8S https://clouddocs.f5.com/products/connectors/k8s-bigip-ctlr/v1.9/的F5-BIG-IP控制器的文档中,我看到:
通过NodePort或ClusterIP将流量从BIG-IP设备转发到Kubernetes群集。
我不确定将我的所有服务作为nodePorts可以通过F5访问是一个好主意,我的实际解决方案是:将一个nginx-ingress与nodeport服务一起接收来自F5的所有流量,然后管理集群内部负载均衡。至少2级负载均衡:D
客户端 - “互联网” - > f5 - “私网” - > k8S节点 - “K8S-net” - > nginx-ingress - >服务 - > 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提供了一个新的“容器入口服务”,如果Vasily的答案不能涵盖您的情况,也可以解决您的需求。