Skip to content

1.F5 CES 集成

oilbeater edited this page Jun 27, 2022 · 3 revisions

Wiki 下的中文文档将不在维护,请访问我们最新的中文文档网站,获取最新的文档更新。

v0.5.0版本已正式发布,欢迎查阅github release page 
https://github.com/f5devcentral/container-egress-service/releases/tag/v0.5.0

CES是一种解决方案。用于帮助用户更好的管理k8s内容器出向策略。它以k8s原生方式解决了高动态IP场景下出向流量策略控制的挑战,提供丰富的出向控制策略。并通过层次化的设计解决了企业安全、网络、平台、应用运维部门之间多角色配合问题。

方案架构

组件构成

CES方案包含以下组件:

  • CES控制:运行于k8s内的容器。该组件为控制面组件,负责将k8s内部署的出向策略转化为外部数据面组件上的配置。
  • F5 BIG-IP: 运行于k8s外部的数据面组件。接受CES控制器下发的配置,并执行具体的访问控制规则,如访问控制列表、限流、流量编程等。
  • CNI: CNI属于用户环境本身的选择,推荐使用kube-ovnkube-ovn具有丰富的企业级特性,能够与F5很好的对接并实现丰富的出向策略。使用**kube-ovn **CNI能够获得CES完整功能。

架构图

high-level-arch

策略scope与角色

方案提供了cluster global namespace以及service三种策略scope。其含义及用户角色关系对应如下:

策略scope 含义 适配角色
Cluster global 该维度策略为集群的整体级别策略,用于控制集群通用的、整体性的访问控制。例如集群对企业NTP,DNS等基础公共服务的访问控制。该scope的策略应用到集群所有服务的出向访问控制。 集群管理员,
基础安全团队
namespace 该维度策略对单个namespace或project生效。用于控制某些具体的NS或project内的所有服务对集群外服务访问。不同namespace或project内的策略彼此互不影响。*该功能需要CNI配合支持。 项目团队,
应用运维团队
service级别 该维度策略控制某个具体k8s service所关联的相关endpoint容器对集群外部服务的访问。仅对具体的服务生效。 项目团队,
应用运维,
微服务owner

租户隔离

CES方案支持网络+namespace双重属性的强隔离。支持数据面配置对象的管理性隔离,亦支持网络层面的强流量隔离。支持不同namespace使用重叠的CIDR。该功能需特定CNI支持

方案价值

解决的挑战

  • 容器IP动态性导致的出向管控策略的高频变化
  • 不同角色人群对策略的scope设定需求不同,策略需在多维度上与角色匹配
  • 出向流量的动态性带宽限制需求
  • 协议深度安全性检查需求
  • 基于访问管控事件的流量可编程高级需求
  • 出向流量可视化需求

提供的能力

  • Cluster/Pod/NS粒度的动态IP ACL控制
  • Cluster/Pod/NS粒度FQDN ACL控制
  • 基于时间的访问控制
  • 匹配流量事件触发与可编程
  • 匹配流量重定向
  • 协议安全性、合规性检测
  • IP地址情报库
  • 流量匹配日志
  • 流量匹配可视化报表
  • 协议检测可视化报表
  • TCP/IP Errors报表
  • NAT控制与日志
  • 数据流可视化跟踪
  • 访问规则可视化模拟
  • 透明检测模式
  • 高速log外发

部分能力随版本迭代演进

下一步:

了解CES安装

Clone this wiki locally