1 2 3 |
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 AFM: 运行于k8s外部的数据面组件。接受CES控制器下发的配置,并执行具体的访问控制规则,如访问控制列表、限流、流量编程等。
- CNI: CNI属于用户环境本身的选择,并不包含在CES方案内。但不同的CNI会对CES方案的功能有不同的影响。使用kube-ovn CNI能够获得CES完整功能。
架构图
策略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外发
部分能力随版本迭代演进
下一步:
文章评论
逐步加入dns及egress,不错不错
@平谷无颜祖 谢谢 :)
ces部署必须是在kube-ovn网络安装好之后才可以吗
@厚嘴唇 d不是。可以不用安装kube-ovn. 目前仅namespace级别的访问控制是和kube-ovn集成的。
ces部署之前要提前安装kube-ovn吧?