 Kubernetes容器应用基于Istio的灰度发布实践Kubernetes容器应用基于Istio的灰度发布实践 张超盟 @ Huawei Cloud BU 2018.08.25 Service Mesh Meetup #3 深圳站 Agenda • Istio & Kubernetes • Istio & Kubernetes上的灰度发布 An open platform to connect, manage, and secure microservices Node 1 svc1 自身业务 SDK Sidecar 服务治理 Node 2 svc 2 自身业务 SDK Sidecar 服务治理 通信基础 服务发现 负载均衡 熔断容错 动态路由 … for (封装++) { 应用侵入--; 治理位置--; } 微服务角度看Istio: 服务网格 服务网格控制面 从基础设施(Kubernetes)看Istio: 服务访问 Node io: 能力增强 服务部署运 维 服务治理 • 调用链追踪 • 动态路由 • 熔断限流 • 负载均衡 • 服务发现 • 扩缩容 • 运维 • 部署 Kubernetes Istio Istio治理的不只是微服务,只要有访问的服务,都可以被治理。 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL 故障注入0 码力 | 38 页 | 14.93 MB | 1 年前3 Kubernetes容器应用基于Istio的灰度发布实践Kubernetes容器应用基于Istio的灰度发布实践 张超盟 @ Huawei Cloud BU 2018.08.25 Service Mesh Meetup #3 深圳站 Agenda • Istio & Kubernetes • Istio & Kubernetes上的灰度发布 An open platform to connect, manage, and secure microservices Node 1 svc1 自身业务 SDK Sidecar 服务治理 Node 2 svc 2 自身业务 SDK Sidecar 服务治理 通信基础 服务发现 负载均衡 熔断容错 动态路由 … for (封装++) { 应用侵入--; 治理位置--; } 微服务角度看Istio: 服务网格 服务网格控制面 从基础设施(Kubernetes)看Istio: 服务访问 Node io: 能力增强 服务部署运 维 服务治理 • 调用链追踪 • 动态路由 • 熔断限流 • 负载均衡 • 服务发现 • 扩缩容 • 运维 • 部署 Kubernetes Istio Istio治理的不只是微服务,只要有访问的服务,都可以被治理。 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL 故障注入0 码力 | 38 页 | 14.93 MB | 1 年前3
 Kubernetes容器应用基于Istio的灰度发布实践1 Kubernetes容器应用基于Istio的灰度发布实践 张超盟 @ Huawei Cloud BU 2018.08.25 Service Mesh Meetup #3 深圳站2 Agenda • Istio & Kubernetes • Istio & Kubernetes上的灰度发布3 An open platform to connect, manage, and secure Node 1 svc1 自身业务 SDK Sidecar 服务治理 Node 2 svc 2 自身业务 SDK Sidecar 服务治理 通信基础 服务发现 负载均衡 熔断容错 动态路由 … for (封装++) { 应用侵入--; 治理位置--; }6 微服务角度看Istio: 服务网格 服务网格控制面7 从基础设施(Kubernetes)看Istio: 服务访问 o: 能力增强 服务部署运 维 服务治理 • 调用链追踪 • 动态路由 • 熔断限流 • 负载均衡 • 服务发现 • 扩缩容 • 运维 • 部署 Kubernetes Istio9 Istio治理的不只是微服务,只要有访问的服务,都可以被治理。10 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL0 码力 | 34 页 | 2.64 MB | 6 月前3 Kubernetes容器应用基于Istio的灰度发布实践1 Kubernetes容器应用基于Istio的灰度发布实践 张超盟 @ Huawei Cloud BU 2018.08.25 Service Mesh Meetup #3 深圳站2 Agenda • Istio & Kubernetes • Istio & Kubernetes上的灰度发布3 An open platform to connect, manage, and secure Node 1 svc1 自身业务 SDK Sidecar 服务治理 Node 2 svc 2 自身业务 SDK Sidecar 服务治理 通信基础 服务发现 负载均衡 熔断容错 动态路由 … for (封装++) { 应用侵入--; 治理位置--; }6 微服务角度看Istio: 服务网格 服务网格控制面7 从基础设施(Kubernetes)看Istio: 服务访问 o: 能力增强 服务部署运 维 服务治理 • 调用链追踪 • 动态路由 • 熔断限流 • 负载均衡 • 服务发现 • 扩缩容 • 运维 • 部署 Kubernetes Istio9 Istio治理的不只是微服务,只要有访问的服务,都可以被治理。10 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL0 码力 | 34 页 | 2.64 MB | 6 月前3
 Envoy原理介绍及线上问题踩坑Co., Ltd. All rights reserved. Page 2 个人介绍 张伟 华为云容器网格数据面技术专家 拥有10年以上中间件及高性能系统开发经验, 作为架构师及核心开发人员发布过传输网管系 统、Tuxedo交易中间件、ts-server多媒体转码服 务、GTS高性能事务云服务、SC高性能注册中心、 ASM数据面等多个产品。先后就职于亿阳信通、 北电、甲骨文、polycom、阿里巴巴等公司;目 载均衡、熔断等能力前所未有的诉求。 • 第一阶段为dubbo、SpringCloud侵入式开发框架,语言强相关。 • 非侵入服务网格最早为2016年Linkerd。 • 2017年,Goole、IBM、Lyft发布Istio。Istio目前为服务网格的事实标准,并且是2019年Github增长最快的TOP 10开源 项目之一。目前最新为1.10版本。 Copyright © Huawei Technologies rights reserved. Page 5 Envoy介绍 • Envoy采用C++实现,本身为四层及七层代理,可以根据用户应用请求内的数据进行高级服务治理 能力,包括服务发现、路由、高级负载均衡、动态配置、链路安全及证书更新、目标健康检查、 完整的可观测性等。 • 目前常见数据面主要有三种:Envoy、Linkerd、Traefic。Envoy由于高性能和扩展能力前在数据面遥 遥领先。 •0 码力 | 30 页 | 2.67 MB | 1 年前3 Envoy原理介绍及线上问题踩坑Co., Ltd. All rights reserved. Page 2 个人介绍 张伟 华为云容器网格数据面技术专家 拥有10年以上中间件及高性能系统开发经验, 作为架构师及核心开发人员发布过传输网管系 统、Tuxedo交易中间件、ts-server多媒体转码服 务、GTS高性能事务云服务、SC高性能注册中心、 ASM数据面等多个产品。先后就职于亿阳信通、 北电、甲骨文、polycom、阿里巴巴等公司;目 载均衡、熔断等能力前所未有的诉求。 • 第一阶段为dubbo、SpringCloud侵入式开发框架,语言强相关。 • 非侵入服务网格最早为2016年Linkerd。 • 2017年,Goole、IBM、Lyft发布Istio。Istio目前为服务网格的事实标准,并且是2019年Github增长最快的TOP 10开源 项目之一。目前最新为1.10版本。 Copyright © Huawei Technologies rights reserved. Page 5 Envoy介绍 • Envoy采用C++实现,本身为四层及七层代理,可以根据用户应用请求内的数据进行高级服务治理 能力,包括服务发现、路由、高级负载均衡、动态配置、链路安全及证书更新、目标健康检查、 完整的可观测性等。 • 目前常见数据面主要有三种:Envoy、Linkerd、Traefic。Envoy由于高性能和扩展能力前在数据面遥 遥领先。 •0 码力 | 30 页 | 2.67 MB | 1 年前3
 Extending service mesh capabilities using a streamlined way based on WASM and ORASListener Downstre am Filter Filter Filter Cluster Upstrea m Filter Chain 扩展自定义Filter, 并通过xDS API动态配置 L4 Network Filters L7 Http Filters 3 Listener & Filters before outbound services Listener Downst 的过滤器也必须用C++实现。 ○ 动态运行时加载: ■ 在运行时将新的过滤器动态加载到Envoy代理中。 ■ 简化了扩展Envoy的过程, 这种解决方案通常使用WebAssembly(WASM)的新技术, 它是一种有效的可移植二进制指令格式,提供了可嵌入和隔离的执行环境。 6 使用Wasm for Proxy ● Pros ○ 敏捷性:过滤器可以动态加载到正在运行的Envoy进程中,而无需停止或重新编译。 由于需要启动一个或多个WASM虚拟机,因此会消耗一定的内存使用量; ○ The WebAssembly ecosystem is still young; 7 Wasm in Envoy Proxy ● Wasm动态加载 ● 一致性校验: ○ https://github.com/pr oxy-wasm/spec ● 内置的Wasm runtime ○ ~20MB for WAVM ○ ~10MB for0 码力 | 23 页 | 2.67 MB | 1 年前3 Extending service mesh capabilities using a streamlined way based on WASM and ORASListener Downstre am Filter Filter Filter Cluster Upstrea m Filter Chain 扩展自定义Filter, 并通过xDS API动态配置 L4 Network Filters L7 Http Filters 3 Listener & Filters before outbound services Listener Downst 的过滤器也必须用C++实现。 ○ 动态运行时加载: ■ 在运行时将新的过滤器动态加载到Envoy代理中。 ■ 简化了扩展Envoy的过程, 这种解决方案通常使用WebAssembly(WASM)的新技术, 它是一种有效的可移植二进制指令格式,提供了可嵌入和隔离的执行环境。 6 使用Wasm for Proxy ● Pros ○ 敏捷性:过滤器可以动态加载到正在运行的Envoy进程中,而无需停止或重新编译。 由于需要启动一个或多个WASM虚拟机,因此会消耗一定的内存使用量; ○ The WebAssembly ecosystem is still young; 7 Wasm in Envoy Proxy ● Wasm动态加载 ● 一致性校验: ○ https://github.com/pr oxy-wasm/spec ● 内置的Wasm runtime ○ ~20MB for WAVM ○ ~10MB for0 码力 | 23 页 | 2.67 MB | 1 年前3
 百度APP基于Istio实现基础架构升级 - lightning talk - MichaelXu部分模块上下游超时配置不合理,超时倒挂,集中管理调整成本比较高。 Ø 多数模块对单点异常,慢节点等异常缺乏容忍能力,推动每个模块独立修复,成本高,上线周期长。 Ø 因重试导致雪崩,底层RPC框架需要重复建设来定制动态熔断能力。 Ø 升级一级服务建设中,发现很多模块单点、多点故障不能容忍,能否低成本解决? Ø 比如常用运维降级、止损能力各个产品线重复建设,方案差异大,OP期望运维能力在不同产品线之间能够通用化, 主要介绍如下几个方面: l 稳定性方面 (单点,多点,防雪崩,长尾优化,架构故障韧性能力) l 治理效率方面 (提升一级模块建成效率,二级模块预案能力) l 周边生态方面 (流量复制,稳定性工程,动态调参, 服务可观测性) l 覆盖率方面 (百度APP100%核心模块,流量占比>79.5% ) #IstioCon 收益介绍 – 防雪崩&长尾 长尾优化: LocalityAware负载均衡策略 业务价值 降低业务因Redis回退引发的雪崩问题。(业务层RPC 框架Retry策略托管到Mesh,通过平响分位值动态抑 制BP请求) Mesh价值 1. 业务无需代码改动即可开启,在线调整backup超时 分位值、熔断阈值。 2. 支持动态调整配置参数,对接智能调参系统。 防雪崩能力:动态BackupRequest #IstioCon 未来 l 强化稳定性工程。(Case覆盖、故障自动恢复)0 码力 | 9 页 | 2.20 MB | 1 年前3 百度APP基于Istio实现基础架构升级 - lightning talk - MichaelXu部分模块上下游超时配置不合理,超时倒挂,集中管理调整成本比较高。 Ø 多数模块对单点异常,慢节点等异常缺乏容忍能力,推动每个模块独立修复,成本高,上线周期长。 Ø 因重试导致雪崩,底层RPC框架需要重复建设来定制动态熔断能力。 Ø 升级一级服务建设中,发现很多模块单点、多点故障不能容忍,能否低成本解决? Ø 比如常用运维降级、止损能力各个产品线重复建设,方案差异大,OP期望运维能力在不同产品线之间能够通用化, 主要介绍如下几个方面: l 稳定性方面 (单点,多点,防雪崩,长尾优化,架构故障韧性能力) l 治理效率方面 (提升一级模块建成效率,二级模块预案能力) l 周边生态方面 (流量复制,稳定性工程,动态调参, 服务可观测性) l 覆盖率方面 (百度APP100%核心模块,流量占比>79.5% ) #IstioCon 收益介绍 – 防雪崩&长尾 长尾优化: LocalityAware负载均衡策略 业务价值 降低业务因Redis回退引发的雪崩问题。(业务层RPC 框架Retry策略托管到Mesh,通过平响分位值动态抑 制BP请求) Mesh价值 1. 业务无需代码改动即可开启,在线调整backup超时 分位值、熔断阈值。 2. 支持动态调整配置参数,对接智能调参系统。 防雪崩能力:动态BackupRequest #IstioCon 未来 l 强化稳定性工程。(Case覆盖、故障自动恢复)0 码力 | 9 页 | 2.20 MB | 1 年前3
 Istio 在 Free Wheel 微服务中的实践FreeWheel的Istio实践 • 未来工作 • FreeWheel的痛点 Istio架构 • Istio Proxy: 劫持Pod的所有通信, 是Mesh的基础 • Pilot: 为Proxy提供动态配置管理 • Citadel: 自动维护mTLS密钥 • Mixer: 在k8s中部署了两组Mixer • Policy提供授权、Quota等能力 • Telemetry提供监控数据收集能力 基本原理 • Istio从架构上可以分为4个板块: • Istio Proxy: Mesh的基础 • 网络安全:兼容Spiffe标准实现 • 配置管理:为C++实现的Proxy接 入k8s的动态配置管理 • Attribute Machine: 授权,Quota ,Tracing,监控的基础 Istio管理下的微服务 • 右图是部署mock1.v1 Pod之后发生的事 情: • istio-certs volume • Citadel: 自动刷新secrets, k8s自动加 载istio-secrets volume • Pilot: 和Sidecar建立连接,管理动态配 置 • Mixer: 和Sidecar建立连接,管理授权 、Quota和审计数据 • Istio的架构和基本原理 • FreeWheel的Istio实践 • 未来工作 • FreeWheel的痛点0 码力 | 31 页 | 4.21 MB | 1 年前3 Istio 在 Free Wheel 微服务中的实践FreeWheel的Istio实践 • 未来工作 • FreeWheel的痛点 Istio架构 • Istio Proxy: 劫持Pod的所有通信, 是Mesh的基础 • Pilot: 为Proxy提供动态配置管理 • Citadel: 自动维护mTLS密钥 • Mixer: 在k8s中部署了两组Mixer • Policy提供授权、Quota等能力 • Telemetry提供监控数据收集能力 基本原理 • Istio从架构上可以分为4个板块: • Istio Proxy: Mesh的基础 • 网络安全:兼容Spiffe标准实现 • 配置管理:为C++实现的Proxy接 入k8s的动态配置管理 • Attribute Machine: 授权,Quota ,Tracing,监控的基础 Istio管理下的微服务 • 右图是部署mock1.v1 Pod之后发生的事 情: • istio-certs volume • Citadel: 自动刷新secrets, k8s自动加 载istio-secrets volume • Pilot: 和Sidecar建立连接,管理动态配 置 • Mixer: 和Sidecar建立连接,管理授权 、Quota和审计数据 • Istio的架构和基本原理 • FreeWheel的Istio实践 • 未来工作 • FreeWheel的痛点0 码力 | 31 页 | 4.21 MB | 1 年前3
 在网格的边缘试探:企业 Istio 试水指南• 在服务间通信之间进行加密 • 访问控制和频率限制 • …Istio目前的突出问题 • API稳定性问题:流量管理也仅仅是v1alpha3,用alpha特性发布 1.0的情况似乎比较罕见。 • 发布进度和质量:大版本以月计算的发布延迟,据我所知的 Release撤回发生了两次。 • 世纪难题:多出一层Sidecar造成的延迟。 • Pilot的性能,近几个版本一直在出问题。 • Mix0 码力 | 19 页 | 11.41 MB | 6 月前3 在网格的边缘试探:企业 Istio 试水指南• 在服务间通信之间进行加密 • 访问控制和频率限制 • …Istio目前的突出问题 • API稳定性问题:流量管理也仅仅是v1alpha3,用alpha特性发布 1.0的情况似乎比较罕见。 • 发布进度和质量:大版本以月计算的发布延迟,据我所知的 Release撤回发生了两次。 • 世纪难题:多出一层Sidecar造成的延迟。 • Pilot的性能,近几个版本一直在出问题。 • Mix0 码力 | 19 页 | 11.41 MB | 6 月前3
 Istio 与 Knative 踩坑实录语言和技术栈的自由 • 中间件升级和切换的自由 • 不被供应商绑定的自由11/25 兼容新旧服务体系 Istio 的价值和问题12/25 兼容新旧调用链体系 Istio 的价值和问题13/25 灰度发布 Istio 的价值和问题14/25 性能损耗 Istio 的价值和问题 每 pod 多占用内存 20 MB -8 毫秒 测试 API 平均响应时 间变化量 吞吐量提升 5 %15/25 RevisionUnkown 状态(0.8版本) • Queue-proxy 内存增长(0.8版本) • Activator 重复创建并占用大量资源22/25 Knative 当前瓶颈 FAAS 实践进展 • 还未发布 Production-ready 版本 • Queue-proxy 过重 • 冷启动时间亟待优化 • 支持代码级更新?23/25 展望-推动组织变革 FAAS 实践进展24/25 总结0 码力 | 26 页 | 1.35 MB | 6 月前3 Istio 与 Knative 踩坑实录语言和技术栈的自由 • 中间件升级和切换的自由 • 不被供应商绑定的自由11/25 兼容新旧服务体系 Istio 的价值和问题12/25 兼容新旧调用链体系 Istio 的价值和问题13/25 灰度发布 Istio 的价值和问题14/25 性能损耗 Istio 的价值和问题 每 pod 多占用内存 20 MB -8 毫秒 测试 API 平均响应时 间变化量 吞吐量提升 5 %15/25 RevisionUnkown 状态(0.8版本) • Queue-proxy 内存增长(0.8版本) • Activator 重复创建并占用大量资源22/25 Knative 当前瓶颈 FAAS 实践进展 • 还未发布 Production-ready 版本 • Queue-proxy 过重 • 冷启动时间亟待优化 • 支持代码级更新?23/25 展望-推动组织变革 FAAS 实践进展24/25 总结0 码力 | 26 页 | 1.35 MB | 6 月前3
 Istio + MOSN 在 Dubbo 场景下的探索之路记录变化的资源类型 • 根据变化的资源类型整理本地数据 • 根据变化的资源类型判断需要下发的 xDS资源 • 构建 xDS 资源,下发到连接的 Sidecar10/23 xDS Sidecar 通过动态获取服务信息,对服务的发现 API 被称为 xDS。 • 协议部分(ADS、控制发送的顺序以及返回的确认数据) • 数据部分(CDS、EDS、LDS、RDS、SDS)11/23 资源变化 资源名称0 码力 | 25 页 | 3.71 MB | 6 月前3 Istio + MOSN 在 Dubbo 场景下的探索之路记录变化的资源类型 • 根据变化的资源类型整理本地数据 • 根据变化的资源类型判断需要下发的 xDS资源 • 构建 xDS 资源,下发到连接的 Sidecar10/23 xDS Sidecar 通过动态获取服务信息,对服务的发现 API 被称为 xDS。 • 协议部分(ADS、控制发送的顺序以及返回的确认数据) • 数据部分(CDS、EDS、LDS、RDS、SDS)11/23 资源变化 资源名称0 码力 | 25 页 | 3.71 MB | 6 月前3
 全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量○ 数据面:MetaProtocol Proxy 实现 RDS、负载均衡、熔 断等公共的基础能力 ○ 控制面:Aeraki + Istio 提供控制面管理,实现按请求 header 路由、灰度发布、地域感知LB、流量镜像等高级 流量管理能力。 ● 基于 MetaProtocol 框架扩展开发,只需要实现 encode、 decode 的少量接口即可在 Istio 中支持一个新的七层协议0 码力 | 29 页 | 2.11 MB | 1 年前3 全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量○ 数据面:MetaProtocol Proxy 实现 RDS、负载均衡、熔 断等公共的基础能力 ○ 控制面:Aeraki + Istio 提供控制面管理,实现按请求 header 路由、灰度发布、地域感知LB、流量镜像等高级 流量管理能力。 ● 基于 MetaProtocol 框架扩展开发,只需要实现 encode、 decode 的少量接口即可在 Istio 中支持一个新的七层协议0 码力 | 29 页 | 2.11 MB | 1 年前3
共 11 条
- 1
- 2













