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 通信基础 服务发现 负载均衡 熔断容错 动态路由 … for (封装++) { 应用侵入--; 治理位置--; } 微服务角度看Istio: 服务网格 服务网格控制面 从基础设施(Kubernetes)看Istio: 服务访问 Node svca svcc svcb.ns svcc.ns svcb svcd svce svce.ns svcd.ns svcd.ns Kube-proxy Backend Pod2 Labels:app=svcb Port:9379 svca 基础设施(Kubernetes)看Istio: 能力增强 服务部署运 维 服务治理 • 调用链追踪 • 动态路由 • 熔断限流 • 负载均衡 • 服务发现 • 扩缩容 • 运维 • 部署 Kubernetes Istio 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 通信基础 服务发现 负载均衡 熔断容错 动态路由 … for (封装++) { 应用侵入--; 治理位置--; }6 微服务角度看Istio: 服务网格 服务网格控制面7 从基础设施(Kubernetes)看Istio: 服务访问 Node svca svcc svcb.n s svcc.ns svcb svcd svce svce.n s svcd.n s svcd.n Backend Pod2 Labels:app=svcb Port:9379 svca8 基础设施(Kubernetes)看Istio: 能力增强 服务部署运 维 服务治理 • 调用链追踪 • 动态路由 • 熔断限流 • 负载均衡 • 服务发现 • 扩缩容 • 运维 • 部署 Kubernetes Istio9 Istio治理的不只是微服务,只要有访问的服务,都可以被治理。10 Istio关键能力0 码力 | 34 页 | 2.64 MB | 6 月前3
Optimal Canary Deployments using
Istio and how it scores over Spring
Cloud and KubernetesOptimal Canary Deployments using Istio and how it scores over Spring Cloud and Kubernetes Presented by Archna Gupta What is a Canary Release or Deployment? • A canary deployment, or canary release Canary Releases Using Kubernetes Deployment POD POD POD POD S E R V I C E (Load balancer) www.my-application.com External Traffic 75% 25% Deployment Canary Releases Using Kubernetes Deployment POD Using Kubernetes Deployment POD S E R V I C E (Load balancer) www.my-application.com External Traffic POD POD 0% 100% Deployment Deployment Deployment Canary Releases Using Kubernetes – Across0 码力 | 9 页 | 1011.00 KB | 1 年前3
Istio控制平面组件原理解析Envoy不支持优雅关闭,需要通过金丝雀或蓝绿部署方式实现 Envoy优雅关闭实现方式讨论:#3307 #2920Pilot-Discovery——配置中心(PD) uv1版本和v2版本之间的区别 u建立缓存配置 u触发配置生效方式v1版本和v2版本之间的区别 V1 HTTP1 REST JSON/YAML 弱类型 轮询 SDS/CDS/RDS/LDS 奠定控制平面基础 V2 HTTP2 GRPC u转换成属性词汇 u问题讨论属性词汇 Name Type Description Kubernetes Example source.id string Platform-specific unique identifier for the source workload instance. kubernetes://redis- master-2353460263- 1ecey.my-namespace "150":"AAAAAAAAAAAAAP//rBQDqg=="} üreq.DefaultWords : • ["istio-pilot.istio-system.svc.cluster.local", • "kubernetes://istio-pilot-8696f764dd-fqxtg.istio-system", • "3a7a649f-4eeb-4d70-972c-ad2d43a680af", • "1720 码力 | 30 页 | 9.28 MB | 6 月前3
在网格的边缘试探:企业 Istio 试水指南ServiceMesher 社区 • Istio贡献者们关于我自己 • HPE(前惠普)软件分析师 • 从业第二十个年头,中老年乙方技术人员 • Istio、Kubernetes项目成员 • Istio.io全球贡献第二 • Kubernetes权威指南系列作者之一 • 自动化、马拉松爱好者今天要讲的东西 • Istio 不能做什么 • Istio 能做什么 • 现阶段 Istio 有什么问题 • API稳定性问题:流量管理也仅仅是v1alpha3,用alpha特性发布 1.0的情况似乎比较罕见。 • 发布进度和质量:大版本以月计算的发布延迟,据我所知的 Release撤回发生了两次。 • 世纪难题:多出一层Sidecar造成的延迟。 • Pilot的性能,近几个版本一直在出问题。 • Mixer按照我个人的看法,API较为混乱,重构风险比较大Istio还用不用? • 你要的是不是API网关? 有完善的性能、功能测试方案。禁则 �������� ����� ����制定目标 • 集群环境申请:版本、开关、资源等。 • 功能性需求:本次试用中Istio需要提供的功能,再次强调:No Freestyle • 非功能需求:并发、成功率、响应时间等服务质量参数。 • 故障处理需求:故障预案。 • 影响范围分析。 • 选定测试版本:研读开放Issue以及Release Notes。测试方案部署 • Istio部署0 码力 | 19 页 | 11.41 MB | 6 月前3
SolarMesh 基于Istio构建的流量监管平台多服务联动时问题难以察觉 Ø ... 服务间通信的复杂性: Ø 网络延迟 Ø 消息序列化 Ø 不可靠的网络 Ø 异步机制 Ø ... 开发难 排错难 测试难 运维难 Ø 服务变得非常多 Ø 版本变得非常复杂 Ø 上线十分痛苦 Ø 排查问题更难 Ø 解决手段更复杂 Ø 学的东西更多 Copyright © 2021 Cloud To Go 为什么我们需要服务网格 - 业务上k8s带来的问题 测试难 运维难 Ø 学习k8s成高 Ø 缺少好用的工具 Ø ... 排错难 Copyright © 2021 Cloud To Go 为什么我们需要服务网格 - 微服务+k8s Kubernetes上 应用的网络问题 困扰开发、测试、运维最突出的问题: Copyright © 2021 Cloud To Go 为什么我们需要服务网格 - 服务网格带来了什么 服务网格是一个云原 直到找到故障位置 1. 流量告警 / 发现页面报错 2. 看图 3. 直接找到故障位置 Copyright © 2021 Cloud To Go 应用场景 - 灰度版本迁移 传统的版本升级方式 使用solarmesh的版本升级方式 1. 打好部署包 2. 等到半夜 3. 部署一个机器 4. 使用模拟的测试数据测试 1. 打好部署包即可部署 2. 用真实的数据测试 3. 挑个良辰吉日分配流量,宣布更新0 码力 | 20 页 | 1.29 MB | 1 年前3
Extending service mesh capabilities using a streamlined way based on WASM and ORAS/http_filters/http_fi lters ○ …. ● 自定义开发: ○ 静态预编译: ■ 将其他过滤器集成到Envoy的源代码中,并编译新的Envoy版本。 ■ 这种方法的缺点是您需要维护Envoy版本,并不断使其与官方发行版保持同步。 ■ 此外,由于Envoy是用C++实现的,因此新开发的过滤器也必须用C++实现。 ○ 动态运行时加载: ■ 在运行时将新的过滤器动态加载到Envoy代理中。 secret generic asmwasm-cache -n istio-system --from- file=.dockerconfigjson=myconfig.json --type=kubernetes.io/dockerconfigjson 16 ��������� ������������� ASMFilter Deployment 资源对象 Controller (Watch0 码力 | 23 页 | 2.67 MB | 1 年前3
Istio Security AssessmentIstio and all of its components. Istio is a modern service mesh technology stack often used within Kubernetes clusters to provide service-to-service communication, manages TLS certificates, provides workload overall design and archi- tecture of Istio as it is deployed within common environments such as Kubernetes clusters. • Istio Pilot: The service running within the istiod service that handles service discovery injection) to focus testing efforts. Istio does not currently have a reference design for what an ideal Kubernetes cluster with Istio running within it. Instead, NCC Group used various hosting options (i.e. Minikube0 码力 | 51 页 | 849.66 KB | 1 年前3
Istio is a long wild river: how to navigate it safelymicroservices (200+ namespaces) ● 100K RPS at peak on API Gateway ● 1 main production Google Kubernetes Engine (GKE) cluster ● 12k+ pods ● 750+ nodes Istio at Mercari 7 Istio at Mercari Apr 2019 Istio at Mercari Stabilizing Istio 10 Stabilizing Istio ● Istio sidecar proxy specifications ● Kubernetes shortcomings with sidecar containers ○ Controlling containers lifecycle ○ Autoscaling pods with any other container in a pod 14 Kubernetes shortcomings with sidecar containers Stabilizing Istio Pod A is the Kubernetes atomic unit Pod App container0 码力 | 69 页 | 1.58 MB | 1 年前3
探讨和实践基于Istio的微服务治理事件监控控 2018.11.25 徐运元关于我 2008年毕业于浙江大学,曾在思科和浙大网新有超过 9年的工作经验和5年的云计算领域工作经验,带领团 队完成公司第一代基于Kubernetes的云平台开发和第 二代基于Kubernetes的DevOps云平台开发。目前致力 于公司基于Istio的微服务平台打造。 来自于浙江大学SEL实验室目录 CONTENTS 微服务平台的监控演进 Mixer组件的功能介绍 logfile APP logfile Kubernetes console APP logfile APP logfile APP logfile Kubernetes console DC2 DMZ Intranet APP logfile APP logfile APP logfile Kubernetes console APP logfile logfile APP logfile APP logfile Kubernetes console search &analysis Prometheus TSDB基于请求和日志的关联性改进架构 A Agent B Agent C Agent Request(Transaction ID) A(application) Trasanctionid(CA SDK support)0 码力 | 29 页 | 8.37 MB | 6 月前3
共 39 条
- 1
- 2
- 3
- 4













