Kmesh v0.4发布!迈向大规模 Sidecarless 服务网格
内容提要
华为云社区发布了Kmesh v0.4版本,具备资源开销小和低延时等优势,采用基于内核的Sidecarless流量治理方案。新增特性包括IPv6支持、细粒度的流量治理、集群外部服务治理、基于eBPF的轻量化可观测和在线日志级别调整。此外,v0.4版本还改进了可维护性、大规模性能和可测试性。
延伸解读
IPv6支持的实际影响
Kmesh v0.4新增IPv6支持,适配Kubernetes双栈集群。值得注意的是,即使集群仅使用IPv4,Java应用默认采用IPv6地址族通信,因此若需治理Java服务,必须升级至v0.4。目前IPv6仅在Workload模式下完整支持,本地模式的支持将在下个版本提供。
细粒度流量治理的灵活性
v0.4支持按Pod粒度纳管流量,用户可通过标签灵活控制治理范围。Pod创建时打标签可确保启动前纳管,避免数据包遗漏;运行后打标签或移除标签可动态调整纳管状态。这便于快速故障隔离和定位,满足只治理特定工作负载的需求。
外部服务治理的实现方式
Kmesh v0.4通过新增DNS解析模块,支持集群外部服务治理。对于ServiceEntry定义的DNS类型服务,用户态先解析域名并重写Cluster,再刷新给eBPF程序进行DNAT,从而将治理范围从Kubernetes集群扩展到外部服务。
大规模集群与可维护性改进
v0.4针对大规模集群优化了BPF map管理:远端模式支持按需申请记录,避免冗余内存开销;本地模式优化map-in-map初始化,将规则刷新从几十毫秒降至毫秒以内。同时引入E2E测试框架并部署在PR门禁中,确保新特性不影响已有功能。
Q&A
Kmesh v0.4版本有哪些新特性?
Kmesh v0.4版本新增了IPv6支持、细粒度流量治理、集群外部服务治理、基于eBPF的可观测性和在线日志级别调整等特性。
Kmesh如何解决Sidecar模式的缺点?
Kmesh采用基于内核的Sidecarless流量治理方案,减少资源开销和延时,并允许独立升级业务容器。
Kmesh v0.4支持的流量治理粒度有哪些?
Kmesh v0.4支持按照Namespace和Pod粒度进行流量治理,增加了灵活性。
Kmesh如何支持集群外部服务治理?
Kmesh通过ServiceEntry定义外部服务,并新增DNS解析模块来扩展治理范围。
Kmesh v0.4在可观测性方面有哪些改进?
Kmesh v0.4采用基于eBPF的轻量化可观测性,支持多维度信息采集和实时监控。
Kmesh如何支持大规模集群管理?
Kmesh v0.4优化了bpf map的创建和更新逻辑,支持管理5000服务和10万pod的集群。