Service Mesh结合容器云平台的思考和实践和第 二代基于Kubernetes的DevOps云平台开发 来自于浙江大学SEL实验室目录 CONTENTS Kubernetes平台下的微服务演进 Pilot核心功能解读 Pilot-Agent核心流程解读Kubernetes平台下的微服务演进当我们在讨论微服务的时候我们在讨论什么? • 解决如何微服务的问题 • 解决微服务化后带来的问题 温饱问题 • 计算资源的快速分配 • 基本的监控 服务间认证和终端用户认证功能Istio的Pilot功能解析Pilot官方架构Istio – EnvoyPilot-Agent的核心流程解读Pilot工作流程Pilot-Agent的部署形式 pilot-agent在pilot/cmd包下面,是个单独 的二进制。 pilot-agent跟envoy打包在同一个docker镜 像里,镜像由Dockerfile.proxy定义, Makefile(include了tools/istio- sidecar。非Kubernetes情况下需要把 pilot-agent、envoy跟应用部署在一起,这 就有点“污染”应用的意思了。Pilot-Agent的功能介绍 在proxy镜像中,pilot-agent负责的工作包括: • 生成envoy的配置。 • 启动envoy。 • 监控并管理envoy的运行状况,比如envoy出错时pilot-agent负责重启envoy,或者envoy配置变更后 reload0 码力 | 28 页 | 3.09 MB | 6 月前3
陌陌Service Mesh架构实践对接大量内部系统 关键收益均由数据平面产生 非完善的控制平面功能 技术体系内不引入Go语言 最成熟的服务端语言为Java 使用Java开发 数据平面Agent14/24 整体架构 数据平面 • 现有协议的流量转发 • Agent平滑升级机制 控制平面 • 轻量的Pilot Proxy • 向Istio的标准协议靠拢 重点目标 长期规划15/24 数据平面实践细节 • 部署方式 Java实现FD迁移18/24 数据平面升级方式 – 发布流程 容器化发布方式 • 发布过程同时存在新旧两个Agent • 注入新Container • 预留占位Container • Container内部升级 当前方案 运维Agent • 单个Pod升级Agent • 多个Pod发布编排 Agent发布流程19/24 数据平面容灾方式 服务类应用 • 场景:出流量由入流量产生 • 方案:由原有健康检测机制摘除流量 • 方案:出流量降级至本应用的其他Agent 出流量容灾20/24 数据平面性能优化 方案整体 • 新增MOA Mesh协议 • 减少decode请求体开销 • ProtoBuf替换JSON • 复用连接并适当设置连接数 Agent内部 • 对象池化:减少资源消耗与GC压力 • 响应等待机制:非阻塞等待 两次请求转发小于0.2ms Agent外部 • 提升服务器性能(缩减耗时绝对值)0 码力 | 25 页 | 1.25 MB | 6 月前3
Service Mesh的实践分享HTTP多语言服务端接入 • Registry Agent • sidecar • 注册代理 • 健康检查 • 服务端受限于Proxy支持的协 议(目前只支持HTTP 1.1) Local Proxy Web Server Service Registry API Gateway 健康检查 服务注册 Registry agent 服务发现 HTTP/JSON HTTP/JSON容器化 Reg agent Proxy address File 服务注册 宿主机 物理机 物理机 Tracing system Trace-log Trace-log 用户与Istio的区别 我是作者名称没有对称的server端agent • 性能考虑 • Proxy已经增加了一跳,server再增加一跳会加剧 性能压力 • 部署考虑 • 服务端agent成为必选项会增加运维压力 服务端agent成为必选项会增加运维压力 • OSP server默认没有agent,web server只带一个 服务注册agent • 服务端的一些治理、trace、鉴权功能通过代码插 件的方式实现 • 治理效果考虑 • 服务端嵌入治理功能可以让治理效果更好,如提 供主动GC、线程池隔离等 • 因为是内部项目,优雅性和治理效果之间,选择 了后者 App Local Proxy OSP OSP client0 码力 | 30 页 | 4.80 MB | 6 月前3
Service Mesh 在蚂蚁金服生产级安全实践Citadel Agent , Pilot 协同完成 Pilot 负责 UDS 路径配置下发,用户通过 Policy CRD 和 DestinationRule 来决策需要给哪些 Sidecar 下发 Sidecar 收到SDS Config 后,然后以 JWT 格式封装身份信息(service account)向Citadel Agent请求证书 Citadel Agent 会将Sidecar Istio With Envoy SDS Benefits: The private key never leaves the node: It is only in the Citadel agent and sidecar’s memory. The secret volume mount is no longer needed: The reliance on the Kubernetes 蚂蚁金服证书管理方案 基于 Citadel 对接内部密钥管理系统 使用 AppLocalToken 替换 Service Account 支持多种Sidecar 通过Citadel Agent 获取证书使用可信身份服务构建敏感数据下发通道 背景介绍 通过应用Pod 中增加一个安全 Sidecar,以API接口的形式为APP及其他Sidecar 提供基础的身 份颁发、身份验证功能 0 码力 | 19 页 | 808.60 KB | 6 月前3
Observability On Service MeshCNCF LandscapeMetric, Tracing, LoggingTraditional ObservabilityHow does agent work?Application Performance Management • Agent based • Manipulate source codes • Auto • Manual • CPU, Memory, Latency + method signature. Core ConceptsOAP Key Feature Multiple telemetry sources 1. Language based Agent 2. Service Mesh Probe 3. Other eco-system, like ZipkinObservability Analysis Language • A compile0 码力 | 19 页 | 5.53 MB | 6 月前3
深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统大规模腾挪的稳定性技术风险 9/19 资源分时链路切换 Part 2:资源分时调度 Kubernetes Node 分时调度 Agent Pod 资源 Node 分时调度 Agent Pod 资源 Node 分时调度 Agent Pod 资源 容量平台 监控平台 巡检平台 流量控制 流量平台 配置中心 流量控制器 流量状态CRD 资源状态CRD 资源及流量控制CRD0 码力 | 19 页 | 2.18 MB | 6 月前3
微博Service Mesh实践服务治理理Service Mesh Meetup · BeiJing 跨语⾔言服务化⽅方式对⽐比 �11 微博Service Mesh实践 - WeiboMesh Http代理理 RPC模块 Agent代理理 研发成本 低 ⾼高 中 维护成本 低 ⾼高 中 使⽤用成本 低 低 中 治理理功能 中 ⾼高 ⾼高 扩展能⼒力力 低 中 ⾼高Service Mesh Meetup · BeiJing 正向代理理配置 �28 微博Service Mesh实践 - WeiboMesh motan-refer motan-basicRefer 继承 motan2://127.0.0.1:agent_port/service=path?group=groupService Mesh Meetup · BeiJing 正向代理理流程 �29 微博Service Mesh实践 - WeiboMesh Register DiscoverService Mesh Meetup · BeiJing 正向代理理特点 �30 微博Service Mesh实践 - WeiboMesh ➢ 业务平滑迁移 ➢ agent故障转移,开关控制 ➢ 多发,超时精确控制 ➢ 适合⾮非云,混合云快速迁移Service Mesh Meetup · BeiJing 反向代理理配置 �31 微博Service Mesh实践0 码力 | 43 页 | 1007.85 KB | 6 月前3
网易云Service Mesh的产品架构与实现二、网易云微服务框架介绍163yun.com 设计思路 • 发现容易搞定,治理难搞定 • 发现不易替换,治理易替换 • 解耦容器平台与微服务 • 解耦服务发现与服务治理163yun.com 设计思路 Agent热加载 兼容SpringCloud,Dubbo框架 控制面租户隔离 适配VPC网络 同IaaS或者Kubernetes解耦 Restful API 高可用 横向扩展 可视化163yun Data Stream Kafka Storm集群 Hbase Hadoop Redis DDB NQS 监控平台 用户空间VPC 管理控制服务 云主机 云网络 云硬盘 UAS Agent 对象存储 UAS Server OpenStack 管控节点(主) 管控节点(备) 监控节点(主) 监控节点(备) 注册中心 控制中心163yun.com 三、基于容器服务的微服务架构实践www0 码力 | 35 页 | 6.33 MB | 6 月前3
Service Mesh 在『路口』的产品思考与实践机制可以方便地实现注入、升级 等运维操作 • 然而大量系统还没有跑在 k8s 上,所以我们通过 agent 的模式来管理 sidecar 进程,从而可 以使 Service Mesh 能够帮助老架构下的应用完成服务化改造,并支持新架构和老架构下服务 的统一管理。 VM 应用进程 Sidecar Agent SOFAMosn 注入 升级 SOFAMosn:https://github0 码力 | 40 页 | 15.86 MB | 6 月前3
函数计算在双11小程序场景中的应用n 活动高峰期流量激增函数计算-冷启动优化 Download & Extract Code User Code Init Logic Execution Start Container Agent Ready FC Responsibility Developer Responsibility 优化前 1000ms 10ms~60000ms 优化后 200ms 10ms~60000ms0 码力 | 13 页 | 6.95 MB | 6 月前3
共 14 条
- 1
- 2













