 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 Kubernetes Istio Istio治理的不只是微服务,只要有访问的服务,都可以被治理。 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL 故障注入 服务身份和安全 认证 鉴权 平台支持 Kubernetes CloudFoundry Eureka 集成和定制 ACL 日志 配额 Consul Istio在华为云:Kubernetes全栈容器服务 应用运维管理 丰富可定制的容器应用立体化运维 容器镜像服务 容器镜像一站式构建、存储与交付 应用编排服务 应用云上自动化编排与设施管理 云容器实例 基于K8S的Serverless容器服务 云容器引擎 企业级高可靠、高性能K8S服务 服务网格 K8S原生Service Mesh Istio在华为云:华为云容器应用 Istio在华为云:服务网格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 Kubernetes Istio Istio治理的不只是微服务,只要有访问的服务,都可以被治理。 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL 故障注入 服务身份和安全 认证 鉴权 平台支持 Kubernetes CloudFoundry Eureka 集成和定制 ACL 日志 配额 Consul Istio在华为云:Kubernetes全栈容器服务 应用运维管理 丰富可定制的容器应用立体化运维 容器镜像服务 容器镜像一站式构建、存储与交付 应用编排服务 应用云上自动化编排与设施管理 云容器实例 基于K8S的Serverless容器服务 云容器引擎 企业级高可靠、高性能K8S服务 服务网格 K8S原生Service Mesh Istio在华为云:华为云容器应用 Istio在华为云:服务网格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 Kubernetes Istio9 Istio治理的不只是微服务,只要有访问的服务,都可以被治理。10 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL 故障注入 服务身份和安全 认证 鉴权 平台支持 Kubernetes CloudFoundry Eureka 集成和定制 ACL 日志 配额 Consul Istio在华为云:Kubernetes全栈容器服务 应用运维管理 丰富可定制的容器应用立体化运维 容器镜像服务 容器镜像一站式构建、存储与交付 应用编排服务 应用云上自动化编排与设施管理 云容器实例 基于K8S的Serverless容器服务 云容器引擎 企业级高可靠、高性能K8S服务 服务网格 K8S原生Service Mesh28 Istio在华为云:华为云容器应用29 Istio在华为云:服务网格0 码力 | 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 Kubernetes Istio9 Istio治理的不只是微服务,只要有访问的服务,都可以被治理。10 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL 故障注入 服务身份和安全 认证 鉴权 平台支持 Kubernetes CloudFoundry Eureka 集成和定制 ACL 日志 配额 Consul Istio在华为云:Kubernetes全栈容器服务 应用运维管理 丰富可定制的容器应用立体化运维 容器镜像服务 容器镜像一站式构建、存储与交付 应用编排服务 应用云上自动化编排与设施管理 云容器实例 基于K8S的Serverless容器服务 云容器引擎 企业级高可靠、高性能K8S服务 服务网格 K8S原生Service Mesh28 Istio在华为云:华为云容器应用29 Istio在华为云:服务网格0 码力 | 34 页 | 2.64 MB | 6 月前3
 探讨和实践基于Istio的微服务治理事件监控探讨和实践基于Istio的微服务治理事件监控 2018.11.25 徐运元关于我 2008年毕业于浙江大学,曾在思科和浙大网新有超过 9年的工作经验和5年的云计算领域工作经验,带领团 队完成公司第一代基于Kubernetes的云平台开发和第 二代基于Kubernetes的DevOps云平台开发。目前致力 于公司基于Istio的微服务平台打造。 来自于浙江大学SEL实验室目录 CONTENTS 微服务平台的监控演进 Mixer组件的功能介绍 Mixer组件的功能介绍 基于Mixer的开发流程和实例微服务平台的监控演进典型的运维场景 传统的监控面临容器化和微服务化的困境 测试运维沟通鸿沟,如何提升沟通效率 监控工具繁杂,如何快速找到合适工具进行问题定位 偶发性问题场景复杂,如何保留发生现场 如何在错综复杂的未服用调用链路中找到错误源头监控场景转换 帮助运维人员快速的定位问题,解决问题 基于容器化和微服务化的监 控场景 • 应用规模巨大 • 基于请求的依赖追踪监控 基于虚拟化的监控场景 • 应用规模大 • 服务之间依赖呈现为线型 • 日志、性能指标需要集中化 存储 基于主机的监控场景 • 应用规模较小 • 服务之间没有互相依赖 • 日志、性能指标都在单个主 机问题一:什么是用户想要的监控 什么是用户想要的监控?分布式监控的三个维度 Metrics Logging Tracing 指标监控 • 指标可被聚合0 码力 | 29 页 | 8.37 MB | 6 月前3 探讨和实践基于Istio的微服务治理事件监控探讨和实践基于Istio的微服务治理事件监控 2018.11.25 徐运元关于我 2008年毕业于浙江大学,曾在思科和浙大网新有超过 9年的工作经验和5年的云计算领域工作经验,带领团 队完成公司第一代基于Kubernetes的云平台开发和第 二代基于Kubernetes的DevOps云平台开发。目前致力 于公司基于Istio的微服务平台打造。 来自于浙江大学SEL实验室目录 CONTENTS 微服务平台的监控演进 Mixer组件的功能介绍 Mixer组件的功能介绍 基于Mixer的开发流程和实例微服务平台的监控演进典型的运维场景 传统的监控面临容器化和微服务化的困境 测试运维沟通鸿沟,如何提升沟通效率 监控工具繁杂,如何快速找到合适工具进行问题定位 偶发性问题场景复杂,如何保留发生现场 如何在错综复杂的未服用调用链路中找到错误源头监控场景转换 帮助运维人员快速的定位问题,解决问题 基于容器化和微服务化的监 控场景 • 应用规模巨大 • 基于请求的依赖追踪监控 基于虚拟化的监控场景 • 应用规模大 • 服务之间依赖呈现为线型 • 日志、性能指标需要集中化 存储 基于主机的监控场景 • 应用规模较小 • 服务之间没有互相依赖 • 日志、性能指标都在单个主 机问题一:什么是用户想要的监控 什么是用户想要的监控?分布式监控的三个维度 Metrics Logging Tracing 指标监控 • 指标可被聚合0 码力 | 29 页 | 8.37 MB | 6 月前3
 Envoy原理介绍及线上问题踩坑Envoy原理介绍及线上问题踩坑 介绍人:张伟 Copyright © Huawei Technologies Co., Ltd. All rights reserved. Page 2 个人介绍 张伟 华为云容器网格数据面技术专家 拥有10年以上中间件及高性能系统开发经验, 作为架构师及核心开发人员发布过传输网管系 统、Tuxedo交易中间件、ts-server多媒体转码服 务、GTS高性能事务云服务、SC高性能注册中心、 outbound -15001 Envoy backend:8123 127.0.0.1:8123 zipkin Pod1 Pod2 业务容器 业务容器 Istio-proxy容器 Istio-proxy容器 Istio-init 容器 Istio-init 容器 Pod内共享网络 Pod内共享网络 Virtual inbound -15006 kubelet 拦截指定命名空间 Pod创建请求 istiod拦截pod创建请求,识别为指定namepsace则根据configmap配置生成带有Envoy两个容器的创建POD请求,修改过的创建请求被 kubelet接收,并在节点创建POD。 • istio-init容器添加用于配置容器网络内iptables规则 • istio-proxy容器启动pilot-agent进程,使用UID=1337 GID=1337创建Envoy启动命令行与配置文件0 码力 | 30 页 | 2.67 MB | 1 年前3 Envoy原理介绍及线上问题踩坑Envoy原理介绍及线上问题踩坑 介绍人:张伟 Copyright © Huawei Technologies Co., Ltd. All rights reserved. Page 2 个人介绍 张伟 华为云容器网格数据面技术专家 拥有10年以上中间件及高性能系统开发经验, 作为架构师及核心开发人员发布过传输网管系 统、Tuxedo交易中间件、ts-server多媒体转码服 务、GTS高性能事务云服务、SC高性能注册中心、 outbound -15001 Envoy backend:8123 127.0.0.1:8123 zipkin Pod1 Pod2 业务容器 业务容器 Istio-proxy容器 Istio-proxy容器 Istio-init 容器 Istio-init 容器 Pod内共享网络 Pod内共享网络 Virtual inbound -15006 kubelet 拦截指定命名空间 Pod创建请求 istiod拦截pod创建请求,识别为指定namepsace则根据configmap配置生成带有Envoy两个容器的创建POD请求,修改过的创建请求被 kubelet接收,并在节点创建POD。 • istio-init容器添加用于配置容器网络内iptables规则 • istio-proxy容器启动pilot-agent进程,使用UID=1337 GID=1337创建Envoy启动命令行与配置文件0 码力 | 30 页 | 2.67 MB | 1 年前3
 Istio 在 Free Wheel 微服务中的实践迁移到微服务架构, 逻辑用Golang重写,引入了Kubernetes。随着模块越来越多,复杂 的通信带来矛盾日渐突出:流量管理、监控… 最初的尝试:Gateway • 如右图,最初我们尝试用一个自研的 简单Gateway来提供统一的认证、授 权、限流、监控,但问题很快凸显出 来了: • Gateway是一个中心化的反向代 理,成为了微服务中的瓶颈,模 块流量会互相影响 • 大锅饭带来了复杂的配置管理, Policy提供授权、Quota等能力 • Telemetry提供监控数据收集能力 基本原理 • Istio从架构上可以分为4个板块: • Istio Proxy: Mesh的基础 • 网络安全:兼容Spiffe标准实现 • 配置管理:为C++实现的Proxy接 入k8s的动态配置管理 • Attribute Machine: 授权,Quota ,Tracing,监控的基础 Istio管理下的微服务 • 充分利用Istio,我们通过扩展Istio来整合这些系统,涉及两方面: • 扩展Sidecar:加入认证支持,提供了对业务系统的认证支持,将用 户相关信息以header的形式传入mesh,后续的授权、监控、限流 都可以用Istio原生的机制来完成 • 扩展Mixer:选择一部分流量来应用对应的授权逻辑 FreeWheel的Istio实践 • 右图为接入FreeWheel自定义认证和 授权模块的原理图0 码力 | 31 页 | 4.21 MB | 1 年前3 Istio 在 Free Wheel 微服务中的实践迁移到微服务架构, 逻辑用Golang重写,引入了Kubernetes。随着模块越来越多,复杂 的通信带来矛盾日渐突出:流量管理、监控… 最初的尝试:Gateway • 如右图,最初我们尝试用一个自研的 简单Gateway来提供统一的认证、授 权、限流、监控,但问题很快凸显出 来了: • Gateway是一个中心化的反向代 理,成为了微服务中的瓶颈,模 块流量会互相影响 • 大锅饭带来了复杂的配置管理, Policy提供授权、Quota等能力 • Telemetry提供监控数据收集能力 基本原理 • Istio从架构上可以分为4个板块: • Istio Proxy: Mesh的基础 • 网络安全:兼容Spiffe标准实现 • 配置管理:为C++实现的Proxy接 入k8s的动态配置管理 • Attribute Machine: 授权,Quota ,Tracing,监控的基础 Istio管理下的微服务 • 充分利用Istio,我们通过扩展Istio来整合这些系统,涉及两方面: • 扩展Sidecar:加入认证支持,提供了对业务系统的认证支持,将用 户相关信息以header的形式传入mesh,后续的授权、监控、限流 都可以用Istio原生的机制来完成 • 扩展Mixer:选择一部分流量来应用对应的授权逻辑 FreeWheel的Istio实践 • 右图为接入FreeWheel自定义认证和 授权模块的原理图0 码力 | 31 页 | 4.21 MB | 1 年前3
 SolarMesh 基于Istio构建的流量监管平台基于Istio构建的流量监管平台 Istio是目前服务网格领域最流行的开源项目,38% 的企业在生产中使用服务网格,其中有接近一半的 选择是Istio SolarMesh 基于 Istio 及容器技术,提供流量监控 和管理,提供完善的非侵入式服务治理解决方案。 帮助企业在纷繁复杂的微服务调度中快速定位问题, 增强研发效率。 让服务网格不再难学难用,让服务网格在企业落地 更加平滑、安全、稳定。 多集群统一纳管,为流量运维提供上帝视角 3. 可视化、规范化Istio操作,告别terminal 4. 反应集群真实情况,流量可视化监控 5. 为istio核心组件提供监控能力 6. 服务质量(SLO)检测能力 7. 一键部署分布式链路追踪组件jaeger 8. 一键部署数据可视化工具grafana,进一步提升流量监控的体验 9. …… Copyright © 2021 Cloud To Go SolarMesh0 码力 | 20 页 | 1.29 MB | 1 年前3 SolarMesh 基于Istio构建的流量监管平台基于Istio构建的流量监管平台 Istio是目前服务网格领域最流行的开源项目,38% 的企业在生产中使用服务网格,其中有接近一半的 选择是Istio SolarMesh 基于 Istio 及容器技术,提供流量监控 和管理,提供完善的非侵入式服务治理解决方案。 帮助企业在纷繁复杂的微服务调度中快速定位问题, 增强研发效率。 让服务网格不再难学难用,让服务网格在企业落地 更加平滑、安全、稳定。 多集群统一纳管,为流量运维提供上帝视角 3. 可视化、规范化Istio操作,告别terminal 4. 反应集群真实情况,流量可视化监控 5. 为istio核心组件提供监控能力 6. 服务质量(SLO)检测能力 7. 一键部署分布式链路追踪组件jaeger 8. 一键部署数据可视化工具grafana,进一步提升流量监控的体验 9. …… Copyright © 2021 Cloud To Go SolarMesh0 码力 | 20 页 | 1.29 MB | 1 年前3
 Istio控制平面组件原理解析o(控制平面)等go语言开源项目进行 过研究。 • 除了代码还喜欢爬山和第二天睡醒后全身酸疼的感觉。目录Pilot-Agent——管理生命周期(PA) u启动envoy u热重启envoy u监控envoy u优雅关闭envoy启动envoy ü监听/etc/certs目录 ü生成envoy静态配置文件envoy-rev0.json ü通过exec.Command启动 envoy并监听状态 官方博客:Envoy hot restart什么时候会进行热重启?监控envoy ü获取非正常退出状态 ü抢救机制触发 ü抢救令牌减少一个(总共10个) ü在2(n-1) * 200毫秒后执行(为什么不立即执行) ü失败再次触发抢救机制 ü10个令牌用完,没有抢救成功,放弃退出优雅关闭envoy ü K8s发送SIGTERM信号让容器优雅关闭 ü Pilot-Agent接收信号通过conte0 码力 | 30 页 | 9.28 MB | 6 月前3 Istio控制平面组件原理解析o(控制平面)等go语言开源项目进行 过研究。 • 除了代码还喜欢爬山和第二天睡醒后全身酸疼的感觉。目录Pilot-Agent——管理生命周期(PA) u启动envoy u热重启envoy u监控envoy u优雅关闭envoy启动envoy ü监听/etc/certs目录 ü生成envoy静态配置文件envoy-rev0.json ü通过exec.Command启动 envoy并监听状态 官方博客:Envoy hot restart什么时候会进行热重启?监控envoy ü获取非正常退出状态 ü抢救机制触发 ü抢救令牌减少一个(总共10个) ü在2(n-1) * 200毫秒后执行(为什么不立即执行) ü失败再次触发抢救机制 ü10个令牌用完,没有抢救成功,放弃退出优雅关闭envoy ü K8s发送SIGTERM信号让容器优雅关闭 ü Pilot-Agent接收信号通过conte0 码力 | 30 页 | 9.28 MB | 6 月前3
 在网格的边缘试探:企业 Istio 试水指南业务负载不算大Istio不能做什么 • 提高代码质量 • 增强负载能力 • 改善交付流程 • 客户充满 Love • 开发需求保持 PeaceIstio能做什么? • 几乎全部功能都无需侵入 • 监控服务质量 • 控制服务间的访问路由 • 跟踪服务链路 • 应对服务故障 • 在服务间通信之间进行加密 • 访问控制和频率限制 • …Istio目前的突出问题 • API稳定性问题:流量管理也仅仅是v1alpha3,用alpha特性发布 • 日志输出和调试开关复查 • Istio功能裁剪 • 备用业务部署 • 试用服务部署 • 服务YAML复查 • 缺省路由设置 • 根据功能需求,编写和部署 Istio相关功能YAML • 监控和告警部署 • 连接Alertmanager/… • 指标输出方案测试 • 根据性能和功能测试方案完成测试。 • 如果性能下滑,可以尝试扩张资源。 • 如果无法达成测试目标,建议取消——无侵入的好处就是可以撤 。 • 验证相关服务的工作状况。 • 最终保障试点上线 • 在通过测试验证和切换演练的过程之后,就可以将试用的网格应 用上线到生产 环境开始试运行了。和所有其他上线活动一样,在 上线之后需要提高监控级别,关注试用服务自身和试用服务影响 范围内的相关功能的健康情况。新书广告0 码力 | 19 页 | 11.41 MB | 6 月前3 在网格的边缘试探:企业 Istio 试水指南业务负载不算大Istio不能做什么 • 提高代码质量 • 增强负载能力 • 改善交付流程 • 客户充满 Love • 开发需求保持 PeaceIstio能做什么? • 几乎全部功能都无需侵入 • 监控服务质量 • 控制服务间的访问路由 • 跟踪服务链路 • 应对服务故障 • 在服务间通信之间进行加密 • 访问控制和频率限制 • …Istio目前的突出问题 • API稳定性问题:流量管理也仅仅是v1alpha3,用alpha特性发布 • 日志输出和调试开关复查 • Istio功能裁剪 • 备用业务部署 • 试用服务部署 • 服务YAML复查 • 缺省路由设置 • 根据功能需求,编写和部署 Istio相关功能YAML • 监控和告警部署 • 连接Alertmanager/… • 指标输出方案测试 • 根据性能和功能测试方案完成测试。 • 如果性能下滑,可以尝试扩张资源。 • 如果无法达成测试目标,建议取消——无侵入的好处就是可以撤 。 • 验证相关服务的工作状况。 • 最终保障试点上线 • 在通过测试验证和切换演练的过程之后,就可以将试用的网格应 用上线到生产 环境开始试运行了。和所有其他上线活动一样,在 上线之后需要提高监控级别,关注试用服务自身和试用服务影响 范围内的相关功能的健康情况。新书广告0 码力 | 19 页 | 11.41 MB | 6 月前3
 Istio + MOSN 在 Dubbo 场景下的探索之路为什么需要 Service Mesh 改造 /01 对比传统微服务架构和 Service Mesh 化之后有哪些优缺点4/23 微服务 模块 • 安全 • 配置中心 • 调用链监控 • 网关 • 监控告警 • 注册和发现 • 容错和限流 特点 • 独立部署 • 强化模块边界 • 技术多样性5/23 Service Mesh 优点 • 统一的服务治理 • 服务治理和业务逻辑解藕0 码力 | 25 页 | 3.71 MB | 6 月前3 Istio + MOSN 在 Dubbo 场景下的探索之路为什么需要 Service Mesh 改造 /01 对比传统微服务架构和 Service Mesh 化之后有哪些优缺点4/23 微服务 模块 • 安全 • 配置中心 • 调用链监控 • 网关 • 监控告警 • 注册和发现 • 容错和限流 特点 • 独立部署 • 强化模块边界 • 技术多样性5/23 Service Mesh 优点 • 统一的服务治理 • 服务治理和业务逻辑解藕0 码力 | 25 页 | 3.71 MB | 6 月前3
 Extending service mesh capabilities using a streamlined way based on WASM and ORAS或者从OCI注册库中拉取WebAssembly模块; ● oras cli类似于docker cli 10 在ACR EE中使用ORAS CLI ● 阿里云容器镜像服务企业版ACR EE作为企业级云原生应用制品管理平台, 提供容器镜像、Helm Chart以及符合OCI规范的制品的生命周期管理; ● oras login --username=<登录账号> acree-1-registry workloadSelector: labels: app: productpage version: v1 20 更新后的Deployment - 以hostpath方式挂载wasm filter文件到Proxy容器 apiVersion: extensions/v1beta1 kind: Deployment metadata: .… spec: …. template: metadata: annotations:0 码力 | 23 页 | 2.67 MB | 1 年前3 Extending service mesh capabilities using a streamlined way based on WASM and ORAS或者从OCI注册库中拉取WebAssembly模块; ● oras cli类似于docker cli 10 在ACR EE中使用ORAS CLI ● 阿里云容器镜像服务企业版ACR EE作为企业级云原生应用制品管理平台, 提供容器镜像、Helm Chart以及符合OCI规范的制品的生命周期管理; ● oras login --username=<登录账号> acree-1-registry workloadSelector: labels: app: productpage version: v1 20 更新后的Deployment - 以hostpath方式挂载wasm filter文件到Proxy容器 apiVersion: extensions/v1beta1 kind: Deployment metadata: .… spec: …. template: metadata: annotations:0 码力 | 23 页 | 2.67 MB | 1 年前3
共 12 条
- 1
- 2













