Istio控制平面组件原理解析Istio控制平面组件原理解析 朱经惠 2018.08.25 Service Mesh Meetup #3 深圳站关于我 • 朱经惠,ETC车宝平台工程师。 • 喜欢开源,个人开源项目”Jaeger PHP Client”。 • 喜欢研究源码,对NSQ,Jaeger,Istio(控制平面)等go语言开源项目进行 过研究。 • 除了代码还喜欢爬山和第二天睡醒后全身酸疼的感觉。目录Pil uv1版本和v2版本之间的区别 u建立缓存配置 u触发配置生效方式v1版本和v2版本之间的区别 V1 HTTP1 REST JSON/YAML 弱类型 轮询 SDS/CDS/RDS/LDS 奠定控制平面基础 V2 HTTP2 GRPC Proto3 强类型 Push SDS/CDS/RDS/LDS/HDS/ADS/KDS 和Google强强联手 官方博客:The universal secretName: istio.default证书过期 üroot-cert.pem 实际有效期1年,没有找到更新方式,手动更新? ücert-chain.pem 和 key.pem 实际有效期90天,程序控制有效期45天 ü证书过期会被重新生成并挂载到/etc/certs ü触发envoy热启动ü方案一: • 把重新生成证书时间改为凌晨http://www.servicemesher.com0 码力 | 30 页 | 9.28 MB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘 奕杉Agenda Ø背景 Ø构架 Ø能力 Ø性能 ØRoadMap背景为什么蚂蚁需要ServiceMesh Ø拥抱微服务,云原生 • SOFA 5规划落地 • 兼容K8S的智能调度体系 Ø运维体系的有力支撑 • LDC • 弹性伸缩 • 蓝绿/容灾/.. Ø金融级网络安全 • 金融级鉴权体系 • 云原生zero trust网络安全趋势 Ø定义可扩展的插件机制PROTOCOL 5 Ø定义编解码核心数据结构 üMesh处理三段式:Headers + Data + Trailers Ø定义协议Codec核心接口 ü编码:对请求数据进行编码并根据控制指令发送数据 ü解码:对IO数据进行解码并通过扩展机制通知订阅方 •定义扩展机制通知解码事件STREAMING 6 Ø定义Stream模型 ü 向上确保协议行为一致性 ü 为网络协议请求/响应提供可编程的抽象载体0 码力 | 44 页 | 4.51 MB | 6 月前3
OpenShift Container Platform 4.8
Web 控制台1.1. RED HAT OPENSHIFT SERVICE MESH Red Hat OpenShift Service Mesh 是一个提供对服务网格(service mesh)的行为信息和操作控制的平 台,它为用户提供了一个连接、管理和监控微服务应用程序的统一方法。 术语 服务网格(service mesh)代表在分布式微服务架构中组成应用程序的微服务网络,以及这些微服务 间的交互。当服务 提供了一个方便的方法来创建一个部署的服务网络,它可提供发现、负 载平衡、服务对服务验证、故障恢复、指标和监控的功能。服务网格还提供更复杂的操作功能,其中包括 A/B 测试、canary 发行版本、速率限制、访问控制以及端到端验证。 1.2. 获取支持 如果您在执行本文档所述的某个流程时遇到问题,请访问红帽客户门户。您可通过该客户门户: 搜索或浏览红帽知识库,了解有关红帽产品的技术支持文章。 提交问题单给红帽支持。 Kiali 观察控制台只支持 Chrome 、Edge 、Firefox 或 SDomain 浏览器的最新的两个版本。 1.3.2. 支持的 Mixer 适配器 此发行版本只支持以下 Mixer 适配器: 3scale Istio Adapter Red Hat OpenShift Service Mesh 在服务网络间提供了实现关键功能的统一方式: 流量管理 流量管理 - 控制服务间的流量和0 码力 | 87 页 | 1.58 MB | 1 年前3
OpenShift Container Platform 4.2 Web 控制台Container Platform 4.2 Web 控制台 在OpenShift Container Platform 4.2中使用Web控制台 Last Updated: 2020-08-21 OpenShift Container Platform 4.2 Web 控制台 在OpenShift Container Platform 4.2中使用Web控制台 法律通告 法律通告 Copyright the property of their respective owners. 摘要 摘要 本文档提供了有关使用和定制 OpenShift Container Platform 4.2 Web 控制台的信息。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 访问WEB控制台 控制台 1.1. 了解和访问WEB控制台 第 第 2 章 章 使用 使用 OPENSHIFT CONTAINER PLATFORM DASHBOARD 获 获取集群信息 取集群信息 2.1. 关于 OPENSHIFT CONTAINER PLATFORM 仪表板页 第 第 3 章 章 在 在OPENSHIFT CONTAINER PLATFORM中配置 中配置WEB控制台 控制台0 码力 | 17 页 | 209.14 KB | 1 年前3
大规模微服务架构下的Service Mesh探索之路如何让社区和客户认可我们的产品?开源方案选择之第一代Service Mesh Linkerd • 无控制平面 • Scala编写,基于JVM资源消耗大 • 可扩展性有限,dtab不易理解和使用 • 功能不能满足蚂蚁的需求,没法做到 类似envoy xds那样的扩展性 • 未来发展前景黯淡 Envoy • 安心做数据平面, 提供XDS API • 设计优秀,性能和稳定性表现良好 • C++编写,和蚂蚁的技术栈差异大 蚂蚁有大量的扩展和定制化需求 • 我们非常认可envoy在数据平面上的表现开源方案选择之第二代Service Mesh Istio • 第一选择,重点关注对象 • 奈何迟迟不能发布生产可用版本 • 性能和稳定性远远不能满足蚂蚁的 要求 • 但我们非常认可Istio的理念和方向 Conduit • 只支持k8s,而蚂蚁尚未普及k8s • 数据平面由Rust编写,过于小众,难于 从社区借力。 • 公司和产品在社区知名度和影响力有限国内公司的选择之一:自研 华为:CES Mesher • 使用Golang编写 • 由go chassis演进而来 • 走的是已有类库->加proxy->再加 控制平面的路线 • 部分对接Istio • 细节暂时不清楚,即将开源 新浪微博:Motan Mesh • 也是使用Golang编写 • 全新实现(原有类库是基于Java) 老成持重的稳健思路:以proxy为切入口,第0 码力 | 37 页 | 7.99 MB | 6 月前3
Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展在实践中,服务网格通常实 现为一组轻量级网络代理,它们与应用程 序一起部署,但对应用程序透明。什么是Service Mesh?- by Istio 服务发现 负载均衡 流量控制 ... 黑白名单 限流 ... 身份认证 通信加密 权限控制 ... 调用追踪 指标收集 ...什么是Service Mesh?- 从网络的视角 Service Mesh关注点 网络视角: Service Mesh是一个主 Control Plane Programmable API APP ...... Data Plane Control Layer Application Layer通过Service Mesh控制面统一管理F5和Envoy https://aspenmesh.io/2019/03/expanding-service-mesh-without-envoy/ Control Plane Security 解决类似的问题:运维和通信的问题 • 相似的解决方案:数据面+控制面+应用 • 不同的协议层次:SDN 2-4层,Service Mesh 主要为7层 SDN对Service Mesh发展的启发: Ø 北向接口 • 面向业务和运维 • 具有较高的抽象层次,比较容易提取统一的控制面标准? • 主要面向layer 7及以上? • SMI能否统一控制面标准?如何避免成为最小公分母,扩展支持其它协议?0 码力 | 27 页 | 11.99 MB | 6 月前3
陌陌Service Mesh架构实践现阶段的关键需求 技术储备与原则类因素 自研数据平面与 控制平面方案 使存量服务接入Mesh 方案 对接大量内部系统 关键收益均由数据平面产生 非完善的控制平面功能 技术体系内不引入Go语言 最成熟的服务端语言为Java 使用Java开发 数据平面Agent14/24 整体架构 数据平面 • 现有协议的流量转发 • Agent平滑升级机制 控制平面 • 轻量的Pilot Proxy • 向Istio的标准协议靠拢 重点目标 长期规划15/24 数据平面实践细节 • 部署方式 • 升级方式 • 容灾方式 • 性能问题 • 资源问题 • 兼容问题 关键设计 关键问题16/24 数据平面部署方式 容器化运行方式 • sidecar模式 • 与业务进程相同Pod不同Container 陌陌微服务容器化部署比例在80%以上 并且还在进一步推进 业务接入方式 sidecar模式部署17/24 数据平面升级方式 – 平滑升级机制 平滑要求 • 业务进程不重启 • 流量保持不变 方案选择 • FD迁移 vs 哨兵集群 原理 • sendmsg / recvmsg接口发送FD • 步骤:listener、存量连接、存量数据 Java实现 • 借助JNI与Netty Java实现FD迁移18/24 数据平面升级方式 – 发布流程 容器化发布方式0 码力 | 25 页 | 1.25 MB | 6 月前3
SOFAMesh的通用协议扩展问答SOFA MESH • 从 ISTIO 克隆并保持同步更新 • 使用 SOFA-MOSN 代替 ENVOY 作为数据平面 • 打包 • 安装 • 部署 • 测试 • 支持主流的微服务框架 • SOFA • HSF • DUBBO • SPRING CLOUD • … • 控制平面创新的地方 • MESH OPERATOR • RPC SERVICE CONTROLLER • …SERVICE 在非 KUBERNETES 环境部署 ISTIO 把 KUBERNETES 当作一个更好用的虚拟化方案 KUBERNETES NATIVE 化微服务 PLATFORM ADAPTER 自己做控制平面KUBERNETES NATIVE 微服务 • 使用 Kubernetes 作为注册中心 • Service • Endpoint • Pod • 使用 DNS 寻址 • 使用 iptables/ebpf ENVOY 不支持微服务使用的通信协议 • RPC 服务使用的接口,方法,参数语义无法匹配 ISTIO 的路由模 型 • 一个应用上部署了多个 RPC 服务,每个服务有自己的版本 • …ISTIO 控制平面路由的抽象模型 INBOUND OUTBOUNDSOFA 服务注册模型落地一个微服务框架需要的工作 • 部署 ZK 集群作为 RPC 框架的注册中心 • 开发 ZK Platform Adapter0 码力 | 28 页 | 4.73 MB | 6 月前3
Service Mesh 在『路口』的产品思考与实践图片来源:https://www.redhat.com/en/topics/microservices/what-is-a-service-mesh 流量控制、监控8/39 金融级网络安全 Part 1: 为什么需要Service Mesh? 身份标识/访问控制 Service (client) Sidecar Sidecar Service (server) mTLS 服务鉴权 SOFAStack 双模微服务平台 DB Advisor Pod Spring Cloud 应用 SOFAMosn SOFA 服务注册中心 Service Mesh 控制平面 Galley Citadel Inspector Pilot 双模微服务 = 传统微服务 + Service Mesh 双剑合璧 服务路由 服务限流 服务拓扑 实时监控 降低资源成本,提升开发效率,享受生态红利 • 云原生不是目的,而是手段 拥抱云原生Part 3: 展望未来 和 istio 社区共建, 融合控制平面和传统注册中心/配置中心,加强 Pilot 的能力 APP SDK 各种注册中心 Galley Nacos 控制平面 (Pilot) MCP MCP SOFARegistry MCP APP Sidecar xDS/UDPA0 码力 | 40 页 | 15.86 MB | 6 月前3
Red Hat OpenShift Data Foundation 4.12 规划部署表 2.1. 节 节点 点类 类型 型 节 节点 点类 类型 型 描述 描述 Master 这些节点运行公开 Kubernetes API、观察和调度新创建的 pod、维护节点 健康和数量,以及控制与底层云供应商的交互的进程。 Infrastructure (Infra) Infra 节点运行集群级别的基础架构服务,如日志记录、指标、registry 和 路由。这些在 OpenShift Container 额外网 外网络 络使用 使用场 场景 景 您可以在需要网络隔离的情况下使用额外网络,包括分离数据平面与控制平面。隔离网络流量对以下性能 和安全性原因很有用: 性能 性能 您可以在两个不同的平面上发送流量,以管理每个平面上流量的多少。 安全性 安全性 您可以将敏感的流量发送到专为安全考虑而管理的网络平面,也可隔离不能在租户或客户间共享的私 密数据。 集群中的所有 pod 仍然使用集群范围的默认网络,以维持整个集群中的连通性。每个 查看池压缩指标的功能 支持 不支持 多云对象网关(MCG)端点 pod 的 自动化扩展 支持 不支持 控制过量置备的警报 支持 不支持 Ceph monitor 空间不足时的警报 支持 不支持 部署独立多云对象网关组件 支持 不支持 扩展 OpenShift Data Foundation 控制平面,允许可插拔外部存储, 如 IBM Flashsystem 不支持 不支持 IPV6 支持 不支持0 码力 | 37 页 | 620.41 KB | 1 年前3
共 238 条
- 1
- 2
- 3
- 4
- 5
- 6
- 24













