-
Notifications
You must be signed in to change notification settings - Fork 5
1.中文首页
myf5 edited this page Jun 2, 2022
·
9 revisions
v0.5.3.1版本已正式发布,欢迎查阅github release page
https://github.com/f5devcentral/container-egress-service/releases/
CES是一种解决方案。用于帮助用户更好的管理k8s内容器出向策略。它以k8s原生方式解决了高动态IP场景下出向流量策略控制的挑战,提供丰富的出向控制策略。并通过层次化的设计解决了企业安全、网络、平台、应用运维部门之间多角色配合问题。
CES方案包含以下组件:
- CES控制:运行于k8s内的容器。该组件为控制面组件,负责将k8s内部署的出向策略转化为外部数据面组件上的配置。
- F5 BIG-IP AFM: 运行于k8s外部的数据面组件。接受CES控制器下发的配置,并执行具体的访问控制规则,如访问控制列表、限流、流量编程等。
- CNI: CNI属于用户环境本身的选择,并不包含在CES方案内。但不同的CNI会对CES方案的功能有不同的影响。使用kube-ovn CNI能够获得CES完整功能。
![high-level-arch](img/high-level-arch.jpg)
方案提供了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外发
部分能力随版本迭代演进
下一步: