Istio 在 5G 核心 CNF 中的使用
5G 系统架构
5G 系统架构采用独立控制平面和用户平面,网络功能 (NF) 通过基于服务接口 (SBI) 连接。云原生网络功能 (CNF) 基于云原生设计原则实现,服务网格对控制平面 NF 最有用。
为什么在 5G 核心网络中使用 Istio
Istio 提供交通管理、度量、跟踪、日志记录、安全可观察性、负载均衡和流量导向等功能,增强网络韧性和稳健性,并通过 mTLS 实现内部和外部通信的身份验证与授权。
云原生电信堆栈中的服务网格管理和业务流程
CNF 作为服务 (CaaS) 平台基于 Kubernetes 运行,支持多供应商接口,爱立信在 CNF 中适应了 Istio 服务网格,避免对服务网格的依赖。
进一步要求
CNF 使用服务网格需满足多租户支持、与网格外服务通信、支持 3GPP 要求、生命周期管理 (LCM)、双栈支持、侧车资源调整、硬化和漏洞测试等要求。
CNF 中的 Istio 服务网格使用情况
Istio 在 CNF 中提供入口、出口、交通管理、安全、可观察性等功能,通过侧车处理出口和入口 mTLS,增强网络安全性。
详细介绍服务网格特征
- 交通管理:L7 负载均衡、流量导向、灵活性、健壮性。
- 安全:mTLS 身份验证、授权、自动证书分配与轮换。
- 可观察性:Prometheus 指标、Jaeger 兼容的分布式跟踪。
- 入口/出口:外部 TLS 和 mTLS 流量终止、无中断证书轮换、超载处理。
技术细节
- 通过侧车处理出口 (m) TLS:避免通过 Egress GW 额外跳转,通过 DestinationRule 和 sidecar 注解挂载证书。
- 通过侧车处理入口 (m) TLS:避免通过 Ingress 网关进行额外跳转,使用 EnvoyFilter 添加新的 filter_chain 处理入站流量。
- 多租户支持:扩展 Istio DiscoverySelectors 定义租户边界,旁路注入、Webhook 补丁、根 CA 配置映射限于 CNF。
- 支持双栈:使用特使 ipv4_compat 模式覆盖 IP 系列设置,强制在 sidecars 上设置 ip6tables。
- EnvoyFilters 的使用:增强功能包括全球速率限制、更好的负载均衡、HTTP 透传过滤、TLS 1.3 配置、边车中入站 TLS 终止。
下一步是什么
- 支持多租户。
- 更好地支持双栈。
- 更好地支持基于非 HTTP 的协议,如数据库。
- 更好的性能,如通过 eBPF 和 gRPC 无代理服务网格实现。
- 集成外部 CAs。
- 更好的节点故障/关闭时的优雅终止逻辑。