Istio控制平面组件原理解析官方博客:Envoy hot restart什么时候会进行热重启?监控envoy ü获取非正常退出状态 ü抢救机制触发 ü抢救令牌减少一个(总共10个) ü在2(n-1) * 200毫秒后执行(为什么不立即执行) ü失败再次触发抢救机制 ü10个令牌用完,没有抢救成功,放弃退出优雅关闭envoy ü K8s发送SIGTERM信号让容器优雅关闭 ü Pilot-Agent接收信号通过conte0 码力 | 30 页 | 9.28 MB | 6 月前3
Extending service mesh capabilities using a streamlined way based on WASM and ORAS在运行时将新的过滤器动态加载到Envoy代理中。 ■ 简化了扩展Envoy的过程, 这种解决方案通常使用WebAssembly(WASM)的新技术, 它是一种有效的可移植二进制指令格式,提供了可嵌入和隔离的执行环境。 6 使用Wasm for Proxy ● Pros ○ 敏捷性:过滤器可以动态加载到正在运行的Envoy进程中,而无需停止或重新编译。 ○ 可维护性:不必更改Envoy自身基础代码库即可扩展其功能。 io/userVolumeMount: '[{"mountPath":"/var/local/lib/wasm-filters","name":"wasmfilters-dir"}]' 21 执行结果, wasm filter生效 22 Summary & Tips ● 开发阶段 22 使用Wasm sdk 生成Wasm二进制 使用oras cli OCI镜像仓库 ● 部署运行阶段0 码力 | 23 页 | 2.67 MB | 1 年前3
Envoy原理介绍及线上问题踩坑针修改 • 每个TLS slot通过allocateSlot分配,在使用前通过set在每个线程中创建一个拷贝并保存。 • 在主线程中调用此slot的runOnAllThreads在所有线程中延迟执行回调,回调内更新每个线程内拷贝对象状态 Copyright © Huawei Technologies Co., Ltd. All rights reserved. Page 13 Envoy网络及线程模型-集群信息更新 ess_log/usage • 调试日志:pilot-agent request POST /logging?connection=trace #Cxxx • 抓包 • 进入pod容器网络空间执行 tcpdump -i any 'port (15001 or 8080)' -w fortio.cap • 压测工具 • fortio load -qps 3000 -c 128 -t 60s0 码力 | 30 页 | 2.67 MB | 1 年前3
IstioMeetupChina 服务网格热升级技术分享为什么需要服务网格数据面热升级 Why do we need Hot-Upgrade for ServiceMesh Data-Plane • 造成请求失败,影响业务质量 • 重启Pod导致业务容器也被重启,需要执行重新初始化 • 不增加workload数量升级,则服务容量受损 • 增加workload保持服务容量不变,应对大规模场景难以在扩容规模和操作便捷度上取 得令人满意的平衡 传统Sidecar升级方式的缺点0 码力 | 14 页 | 2.25 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践Kubernetes Istio Istio治理的不只是微服务,只要有访问的服务,都可以被治理。 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL 故障注入 服务身份和安全 认证 鉴权 平台支持 Kubernetes CloudFoundry Eureka 集成和定制 ACL 日志 配额 Consul 功能0 码力 | 38 页 | 14.93 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践Istio9 Istio治理的不只是微服务,只要有访问的服务,都可以被治理。10 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL 故障注入 服务身份和安全 认证 鉴权 平台支持 Kubernetes CloudFoundry Eureka 集成和定制 ACL 日志 配额 Consul 功 能0 码力 | 34 页 | 2.64 MB | 6 月前3
探讨和实践基于Istio的微服务治理事件监控几种开发模式,以及写一下两种方式的区别 Compiled In Adapter Out Of Process Adapter • Adapter与mixer代码需要一起打包编译,最终生成 一个可执行文件。 Adapter作为grpc服务端,运行在独立的pod当中, Mixer通过通过rpc调用,将属性与日志发送给Adapter。基于Mixer的二次开发的流程 • 编写grpc服务端程序,0 码力 | 29 页 | 8.37 MB | 6 月前3
共 7 条
- 1













