您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[网易]:进击的 Istio:下一个 Kubernetes? - 发现报告
当前位置:首页/其他报告/报告详情/

进击的 Istio:下一个 Kubernetes?

2023-03-09网易王***
进击的 Istio:下一个 Kubernetes?

2021网易数字+大会 网易数字+大会 进击的Istio:下一个Kubernetes? 裴斐 网易数帆轻舟微服务团队 目录 网易数字+大会 什么是Istio •Istio到底是什么? “优等生”Istio •优秀的出身、能力与模型 “差等生”Istio •使用门槛与规模支撑 Istio落地 •扬长补短的修行 网易数字+大会 网易数字+大会 什么是Istio 服务架构的总体变迁 微服务架构 开发、测试、部署简单项目复杂、扩展性差 灵活性、扩展性强 引入RPC框架、治理、监控、安全等设施的建设 业务无侵入、支持热升 级、语言无关 技术较新,体系较大 网易数字+大会 网易数字+大会 下一代微服务架构:服务网格 •优势:业务无侵入、支持热升级、语言无关 网易数字+大会 •问题:技术较新,体系较大 •现状:部分业务已经生产落地 •明确:长远来看,服务网格会是云原生技术栈下基础能力下沉的标杆体系 网易数字+大会 云原生服务网格框架——Istio 由Google,IBM和Lyft联合开发,Go语言。与 Kubernetes一脉相承。 网易数字+大会 提供了完整的服务网格解决方案 本 , 2017年5月24日发布0.1版本,目前已到1.11版 数据面:Envoy 控制面:Istiod(1.5版本开始,原Pilot,Mixer Citadel,Galley等组件合并) 网易数字+大会 “优等生”Istio ——出身、能力与模型 网易数字+大会 网易数字+大会 Istio出身 网易数字+大会 网易数字+大会 Istio能力 类型 功能 备注 服务注册与发现 注册发现 微服务注册,以及互相发现、访问 流量管理 基础路由 控制微服务之间的基本调用 负载均衡 通过设置轮询、随机等策略访问后端实例 权重分流 可用于灰度发布,基于百分比权重控制流量分发 参数分流 可用于灰度引流。基于httpheader等参数控制流量到后端的分发 流量镜像 可用于预发布验证。将线上流量复制分发到测试集群 治理控制 熔断降级 达到一定异常条件时,保护自身,暂时放弃访问后端 限流 通过评估自身服务能力,限制调用方的访问量 故障注入 可用于故障演练。为微服务之间的调用注入故障 超时控制 对服务间调用设置超时策略 可观测性 监控 对微服务的调用进行实时监控 审计 对微服务的调用进行审计、记录、分析 链路追踪 对微服务调用全链路进行追踪、诊断 网易数字+大会 Istio模型 网易数字+大会 Istio为核心微服务能力提供了高度抽象的模型,可以通过API——KubernetesCRDs(CustomResourceDefinitions),提供的能力更强的流量管理功能。以下是Istio几个核心模型: Virtualservices——实现请求路由功能 DestinationRule——实现服务发现和负载均衡、故障处理和故障注入等功能ServiceEntry——服务网格内的服务,可以看到外面的世界 Gateway——服务网格的服务,可以被全世界看到Sidecar——对“边车”的隔离性配置 网易数字+大会 “差等生”Istio ——使用门槛与规模支撑 网易数字+大会 Istio落地两大问题 使用门槛高 网易数字+大会 Istio本身上手有一定难度,需要理解其高度抽象的设计、模型;Istio支持的协议、注册中 心、部署环境都有一定局限。 存在延时性能的劣化、配置全量分发、自我保护、异常排障等问题 无法支撑 大规模业务集群 网易数字+大会 使用门槛高,存量系统迁入难 协议:仅对HTTP、gRPC有完整的支持,其他协议需要进行完整扩展 网易数字+大会 注册中心:仅支持Kubernetes服务发现,其他注册中心需要进行扩展 业务部署环境:对容器化部署的业务有完整支持,虚拟机/物理机能力支持不足 治理功能:原生治理能力与传统服务治理能力存在差异 流量拦截:需要对全部TCP流量进行拦截,无法灰度 网易数字+大会 无法支撑大规模业务集群,生产级落地难 延时性能:引入Sidecar带来1~2跳延时损耗,不利于延时敏感业务 网易数字+大会 配置分发:对全量Sidecar下发全部配置,造成性能、资源较大损耗 全链路排障:更多基础组件的全局故障定位、排除难 故障兜底:缺少基础组件故障时的业务请求兜底 自我保护:缺少自身组件自我保护(限流、熔断、主动断连等),容易雪崩 网易数字+大会 Istio落地 ——苦练内功,方得始终 网易数字+大会 低门槛 高性能 业务平滑落地的支撑能力 大规模微服务集群的支撑能力 网易数字+大会 Istio落地核心要点 网易数字+大会 Dubbo Consumer A DubboProviderC 降低使用门槛——多协议支持 考虑性能、可扩展性、开发语言等因素,企业应用往往会使用多种通信协议。轻舟在原生支持HTTP、gRPC 网易数字+大会 基础上,扩展实现了对Dubbo、Thrift协议的精细化路由与治理能力,并为其他协议扩展打下基础。 Dubbo Consumer B Listener HTTPProxyFilter 【X】ProxyFilter DubboProxyFilter DubboProviderD Route r..... Fault Limit 网易数字+大会 降低使用门槛——多注册中心纳管与打通 Eureka Zookeeper Consul Zookeeper Consul 通过控制面对接纳管业务已有注册中心,并打通不同注册中心,推动存量微服务接入和平滑迁移。 注册中心 Nacos K8SRegistry Zookeeper Consul Eureka 同步注册中心/配置中心 服务发现 POD 用户微服务 (消费方) Sidecar POD 用户微服务 (提供方) Sidecar 网易数字+大会 服务注册 网易数字+大会 无侵入服务注册 Eureka Zookeeper Consul Zookeeper Consul 注册/配置中心 Nacos K8SRegistry Zookeeper Consul 同步注册中心/配置中心 服务发现 MeshRegistry Eureka 业务场景 不使用Kubernetes(ETCD)内置的服务注册机制, 即没有KubernetesService自动注册能力 网易数字+大会 业务代码里无服务注册逻辑,也不希望修改代码、引入SDK进行增强 异构开发语言系统,无法引入服务注册能力 常见实现方式 服务注册 拉起 监听健康检查 POD/VM 用户微服务 (提供方) Istio- Agent Sidecar 增强注册:通过修改代码、引入SDK进行服务注册能力的增强 自动注册:业务使用Kubernetes(ETCD)内置的服 务注册机制实现服务自动注册 轻舟增强实现方式 增强注册:引入轻舟无侵入Agent增强服务注册能力 自动注册:通过Sidecar与Istio-Agent配合实现服 务的自动注册、心跳、健康检查 网易数字+大会 降低使用门槛——动态流量拦截 网易数字+大会 扩展配置流量拦截规则,可以对协议、端口等进行定制化拦截,避免全量拦截流量,可支持业务逐步灰度接入 流量动态拦截平台配置 网易数字+大会 降低使用门槛——虚拟机/物理机支持 通过对虚拟机/物理机环境Sidecar及其生命周期管理进行适配和增强,实现容器与非容器环境业务的互通、 统一治理与观测。 Eureka Eureka Zookeeper Consul Zookeeper Consul 注册中心 Nacos K8SRegistry Zookeeper Consul 网易数字+大会 同步注册中心/配置中心 Sidecar Sidecar Sidecar 微服务A 微服务B 微服务C 微服务D POD POD 虚拟机/物理机 网易数字+大会 服务实例管理 治理规则管理 健康度状态 负载监控 流量染色 目标分组管理 服务监控 接口鉴权 熔断降级 网易数字+大会 降低使用门槛——治理功能亲和 服务拓扑 服务概览 网易数字+大会 支撑大规模业务集群——降低延时 网络优化 SR-IOV容器网络加速,利用硬件特性,加速容器网络基础性能 延时降低50%以上 网易数字+大会 协议栈优化 用户态协议栈可实现协议栈卸载到用户态,省去用户态和内核态的切换开销 结合后端的用户态容器网络实现基于用户态的全栈报 文通信,降低Sidecar代理带来的时延开销30%以上 网络加速组件: sockops组件加速Socket间通信,实现网络加速 延时降低15%以上 注意:优化数据来自网易业务内部真实环境,供参考 5 2 3 5 15%↓ 用户态协议栈加速 4 30%↓ 1 SR-IOV容器网络加速 sockops网络加速 sockops网络加速 50%↓ 网易数字+大会 Eureka Zookeeper Zookeeper Consul 支撑大规模业务集群——配置瘦身 网易数字+大会 基于请求调用记录,对配置分发进行瘦身,大幅降低分发到每个Sidecar的配置量 注册中心 K8SRegistry Nacos Zookeeper Consul 调用记录 AcallBCcallADcallYBcallX 全局配置 目标配置 Eureka Kubernetes 网易数字+大会 支撑大规模业务集群——自我保护 网易数字+大会 为Istio控制平台提供熔断、限流等机制,防止过多、过高并发的客户端连接,保证自身不雪崩影响全局 Kubernetes 网易数字+大会 支撑大规模业务集群——兜底路由 网易数字+大会 检测服务网格组件异常,服务无法正常调用时,兜底为直接调用,避免影响服务可用性。 用户微服务 (提供方) Sidecar 用户微服务 (消费方) Sidecar 网易数字+大会 支撑大规模业务集群——全链路排障 网易数字+大会 整合应用、服务网格组件、容器组件,对请求全链路进行监控与辅助排障,全局监控并快捷解决线上问题。 网易数字+大会 网易数字+大会 总结:Istio的“Kubernetes之路” 道阻且长,苦练内功 相比Kubernetes的江湖地位,Istio尚存在一定距离 网易数字+大会 需要具备更完善的微服务体系支撑能力,降低业务接入门槛 需要具备更健壮的微服务集群支撑能力,提高业务接入后的SLA保障 前途是光明的,道路是曲折的 网易数字+大会 网易数字+大会 THANKS