Service Mesh结合容器云平台的思考和实践2008年毕业于浙江大学,曾在思科和浙大网新有超过 9年的工作经验和5年的云计算领域工作经验,带领团 队完成公司第一代基于Kubernetes的云平台开发和第 二代基于Kubernetes的DevOps云平台开发 来自于浙江大学SEL实验室目录 CONTENTS Kubernetes平台下的微服务演进 Pilot核心功能解读 Pilot-Agent核心流程解读Kubernetes平台下的微服务演进当我们在讨论微服务的时候我们在讨论什么? 载服务发现、负载均衡、TLS终止、HTTP/2 & gRPC流量代理、熔断、健康检查等功能。 • Mixer 翻译过来是混音器,Mixer负责在整个Service Mesh中实施访问控制和使用策略。Mixer是一个可扩展组 件,内部提供了多个模块化的适配器(adapter)。 • Pilot 翻译过来是领航员,Pliot对Envoy的生命周期进行管理,同时提供了智能路由(如A/B测试、金丝雀部 署 配置,使这些规则生效。 • Istio-Auth 服务间认证和终端用户认证功能Istio的Pilot功能解析Pilot官方架构Istio – EnvoyPilot-Agent的核心流程解读Pilot工作流程Pilot-Agent的部署形式 pilot-agent在pilot/cmd包下面,是个单独 的二进制。 pilot-agent跟envoy打包在同一个docker镜 像里,镜像由Dockerfile0 码力 | 28 页 | 3.09 MB | 6 月前3
Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?Review | Approved | Obsolete Created: 12/18/2018 Release Version: N/A Approvers: xxx [], xxx [] (摘要翻译:https://skyao.io/learning-istio/mixer/design/v2.html)Part 1:ServiceMesh灵魂拷问一:要架构还是要性能? Mixer v2 Proposal的核心 ++等语言提供一个编译目标,以便它们可以 在Web上运行。它也被设计为可以与JavaScript共存,允许两者一起工作。 WebAssembly不是一门编程语言,而是一份字节码标准。 WebAssembly字节码是一种抹平了不同CPU架构的机器码, WebAssembly字节码不能直接在任何一种CPU架构上运行, 但由于非常接近机器码,可以非常快的被翻译为对应架构 的机器码,因此WebAssembly运行速度和机器码接近。(类 比Java0 码力 | 43 页 | 2.90 MB | 6 月前3
Service Mesh Meetup #3 深圳站一个数据库 • 分模块整合架构(前后端分析) • 不同的框架或业务模块 • 多种数据源 • 微服务架构 • 各种语言、各种框架或子系统 • 各种数据源 • ServiceMesh一般的开发流程 • 1. 开启一个新的 feature; • 2. Developer 从 develop 分支新建一个 feature/new_branch 来做特定 feature 的开发; • 3. 开发并自测后,提交 测试;(脚本或者人工)有什么问题? • 效率低 • 没有代码检查; • 没有自动化测试(包括单元测试); • 沟通成本高 • 开发需要通知负责人、测试、产品等;(而且是每次构建/部署 都需要) • 依赖多较好的开发流程(流程化、自动化) • 1. 开启一个新的 feature; • 2. Devloper 从 develop 分支新建一个 feature/new_branch 来做特定 feature 的开发; • 会合并到 develop; • 8. Merge 触发 Jenkins/Drone 自动构建; • 9. 构建成功就执行你定义的工作流:打包镜像,触发 deploy 以及其他后续的 Automation Testing 等流程; • 10 . Drone 通知工作流程情况给开发/或者交付 QA 测试;如何提升工程效率?我是作者名称2017 年 DevOps 现 状调查报告DevOpsDevOps0 码力 | 45 页 | 18.62 MB | 6 月前3
SOFAMesh的通用协议扩展客户端服务发现与负载均衡无法与 ISTIO 一起工作 • ENVOY 不支持微服务使用的通信协议 • RPC 服务使用的接口,方法,参数语义无法匹配 ISTIO 的路由模 型 • 一个应用上部署了多个 RPC 服务,每个服务有自己的版本 • …ISTIO 控制平面路由的抽象模型 INBOUND OUTBOUNDSOFA 服务注册模型落地一个微服务框架需要的工作 • 部署 ZK 集群作为 RPC 框架的注册中心 开发一个通用协议处理框架 • 避免为不同的微服务框架修改 PILOT 代码 • 通过插件的方式按需支持新的协议 • 对应用代码无侵入性 • 为微服务框架提供轻量化客户端落地一个微服务框架需要的工作 • 部署 ZK 集群作为 RPC 框架的注册中心 • 开发 ZK Platform Adapter for DUBBO • 开发 DUBBO 服务的 XDS 配置下发 • 开发 DUBBO 服务的路由规则 version 2.0.0落地形态 Traffic RulesSOFA MOSN Virtual Host Domain [172.16.3.8:1220] SOFA Listener 调用流程 Client com.svc.user Core DNS 172.16.3.8 IP TABLES dest 172.16.3.8:12220 SOFA Listener original0 码力 | 28 页 | 4.73 MB | 6 月前3
大规模微服务架构下的Service Mesh探索之路我们的观点: • 需要请求同步阻塞等待的功能都应该在 Sidecar中完成 • 远程调用带来的性能开销代价太高 • 其他尽量优化为异步或者批量Istio的解决方案:添加Mixer Cache ü 缓存的工作方式: • Sidecar 中包含本地缓存,一部分的前置 检查可以通过缓存来进行 • 另外,Sidecar 会把待发送的Report数据 进行缓冲,这样可能在多次请求之后才调 用一次 Mixer Mixer Cache: Istio的阿克琉斯之踵? • Istio Mixer Cache工作原理与源码分析(1)-基本概念 • Istio Mixer Cache工作原理与源码分析(2)-工作原理 • Istio Mixer Cache工作原理与源码分析(3)-主流程 • Istio Mixer Cache工作原理与源码分析(4)-签名 更多资料,深入了解Report部分的隐忧:网络集中 应用0 码力 | 37 页 | 7.99 MB | 6 月前3
金融级云原生 PaaS 探索与实践网络接入 (SLB/ALB) 容 器 层 跨集群管理 单元化能力 容器镜像管理 批次发布 原生资源管理 Pod伸缩管理 集群伸缩管理 变更管控 配额管理 运维原子操作 精细化调度 接入层流程调拨 应用层流量调拨 跨集群状态 分发/汇聚 数据层流量调拨 压测/灰度 流量管理 单元化 元数据管理 弹性流量管理 跨集群发布策略 多集群管理 跨集群网络 跨集群镜像管理 蓝绿发布 流量控制; • 多应用有序发布; • 应用 ReleasePipeline 管理; 应用依赖项顺序; 发布顺序; Beta 发布 分组发布; • 变更管控能力;发布流程 无损发布流程控制; 内部流量: RPC 外部流量: SLB(ALB) DNS 发布运维体系 InPlaceSet Controller Pod Service/Endpoint Controller InPlaceSet A CafeDeployment partition:1 …… Pod Upgrade 机房A – 单元A • 精准分组,自定义拓扑 • IP不变,无损升级 • 可适配多种工作负载 • InPlaceSet • ReplicaSet • StatefulSet 可灰度: • 应用发布进程可控,允许灰度、 分组和 Beta 验证; 可回滚: • 随时暂停、回滚,任何变更有0 码力 | 20 页 | 1.71 MB | 6 月前3
服务增强器社区介绍中兴通讯ServiceMesher 社区成立以来组织了一系列翻译活动,如: • Envoy 官方文档 • Knative 入门 • Istio 官方文档 1.1 版本和 1.4 版本 社区官网投稿情况: • 翻译文章:147 篇 • 原创文章:122 篇 /03 社区活动2019年 10 月31 日 正式开始 istio 1.5 官网文档的翻译。 2 个月 累计合并 PR 数超过 300 个。 个。 300+ 超过 60 人参与了官网的翻译。 60+ 持续时间 合并 PR 数 参与人数 20 万+ 翻译字数 累计翻译的文档中汉字数超过 20 万。 /04 Istio.io 社区化翻译活动Istio 官网本地化活动卓越贡献者 官余棚 @gorda 罗小东 @ilylia 于晓博 @yuxiaobo96 高国良 @gauliang /05 Istio 官网0 码力 | 7 页 | 20.77 MB | 6 月前3
七牛容器云ServiceMesh实践反向代理Contour • 本质上还是Ingress Controller • Kubernetes深度整合 • Gimbal生态组件Contour特点 • 基于Envoy • 协议转换 • 对象翻译 • IngressRouterContour的优劣 • 优势 • 兼容Istio生态,融入Service Mesh生态 • 南北向流量使用Envoy • 兼容Kubernetes标准Restful接口0 码力 | 15 页 | 3.86 MB | 6 月前3
Service Mesh 在蚂蚁金服生产级安全实践Mesh Sidecar 的 TLS 生产级落地实践 分享内容基于 Secret Discovery Service Sidecar 的证书管理方案 Kubernetes Secret 证书管理流程 在 Kubernetes 场景下,证书是通过 secret 的方式来管理,使用时通过 secret mount 以 Volume 形式挂载。 存在以下三个问题: Secret 管理方式与 需要通过热重启方式重新加载,成本高昂基于 Secret Discovery Service Sidecar 的证书管理方案 Envoy SDS 证书管理流程 Secret Discovery Service 是 Envoy 提出的 Sidecar 证书管理方案,方案的核心流程在于引入 SDS Server 进行密钥管理和分发,Sidecar 通过 gRPC 请求获取证书,并利用 gRPC stream 能力实现证书动态轮转。 的证书管理方案 Envoy SDS 证书管理流程基于 Secret Discovery Service Sidecar 的证书管理方案 Istio With Envoy SDS Istio 基于 Envoy 的 SDS方案,实现了 SDS Server 和 SDS 配置管理。Istio 方案中选择 UDS 通信方案,Istio的 方案证书管理流程由 Citadel , Citadel Agent0 码力 | 19 页 | 808.60 KB | 6 月前3
陌陌Service Mesh架构实践0 陌陌Service Mesh架构实践 高飞航 陌陌中间件架构师1/24 讲师简介 高飞航,陌陌中间件架构师 2011年 毕业于东北大学 加入淘宝网 交易平台团队 负责交易流程业务研发 2013年 加入陌陌 基础平台组 负责多项中间件产品研发、多机房架构建设 在微服务领域具备丰富的经验 当前关注Service Mesh、云原生等技术方向2/24 /01 /02 /03 背景 借助JNI与Netty Java实现FD迁移18/24 数据平面升级方式 – 发布流程 容器化发布方式 • 发布过程同时存在新旧两个Agent • 注入新Container • 预留占位Container • Container内部升级 当前方案 运维Agent • 单个Pod升级Agent • 多个Pod发布编排 Agent发布流程19/24 数据平面容灾方式 服务类应用 • 场景:出流量由入流量产生0 码力 | 25 页 | 1.25 MB | 6 月前3
共 19 条
- 1
- 2













