也可以直接与负载均衡厂商(如F5)进行集成,不需要另外开发。既能满足容器对灵活性的要求,也能保留F5的传统优势。
F5的解决方案包含2个组件,VE(Virtual Edition)和CC(Container Connector)。VE是F5LTM的软件化产品,可以安装在虚拟机上,其功能与硬件设备完全一致。CC是F5的一个开源组件,它以容器的形式部署在Kubernetes集群中,通过读取Kubernetes API获取集群内的服务资源并将其转化为VE上的配置。管理员可以为每一个租户部署一组CC,每组CC独立控制VE上的一个对象配置隔离区域(partition),该partition下的资源完全由该组CC独立控制。兼顾了稳定性、灵活性与安全性。该方案中,负载均衡策略的定义提供多种方式,可以使用Ingress,也可以使用ConfigMap。
采用CC+VE技术,利用CC与Kubernetes通过API进行联动,完全适应容器平台对灵活性的要求;另外,配置上采用ConfigMap定义负载均衡策略,架构上采用VE直接对集群中的POD进行负载分发,减少网络层次,提升负载均衡性能;同时,通过将Kubernetes的Namespace与VE的partition一一对应,实现不同容器租户服务资源的隔离。