进击的 Traefik | 云原生边缘路由器探秘
进击的 Traefik 杨川胡(阳明) 知群后台负责人 2019.10.26 Service Mesh Meetup #7 成都站 云原生边缘路由器探秘杨川胡(阳明) 知群后台负责人,原小米视频后台高级研发 ,《Prometheus 深入浅出》作者,「k8s技 术圈」社区作者,现阶段专注于云原生技术 领域,希望成为一个有产品思维的工程师1 Traefik 介绍 2 Traefik Traefik 2.0 核心概念 3 Traefik With Docker 4 Traefik With KubernetesTraefik 是什么? • 云原生的边缘路由器 • 让部署微服务更加便捷而诞生的现 代 HTTP 反向代理、负载均衡工具 • 它支持多种后台 (Docker, Swarm, Kubernetes, M arathon, Mesos, Consul, Etcd, Z ookeeper ....1 Traefik 介绍 2 Traefik 2.0 核心概念 3 Traefik With Docker 4 Traefik With KubernetesTraefik 是一个边缘路由器Traefik 自动服务发现Traefik 2.0 架构 • Providers 用来自动发现平台上的服务 • Entrypoints 监听传入的流量(端口等… ) • Routers 分析请求(host0 码力 | 35 页 | 8.58 MB | 5 月前3Nacos架构&原理
Nacos 做到 AP 协 议的关键。 存储模块:解决数据持久化、非持久化存储,解决数据分片问题。 插件 Nameserver:解决 Namespace 到 ClusterID 的路由问题,解决用户环境与 Nacos 物理环境 映射问题。 CMDB:解决元数据存储,与三方 CMDB 系统对接问题,解决应用,人,资源关系。 Metrics:暴露标准 Metrics 数据,方便与三方监控系统打通。 Nacos 上创建⼀个配置时, 如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP 。配置分组的常见场 景:不同的应用或组件使用了相同的配置项,如 database_url 配置和 MQ_Topic 配置。 配置 ID(Data ID) Nacos 中的某个配置集的 ID。配置集 ID 是划分配置的维度之⼀。Data ID 通常用于划分系统的配 置集。⼀个系统或 ${prefix}-${spring.profiles.active}-${file-extension} 配置快照(Configuration Snapshot) Nacos 的客户端 SDK 会在本地生成配置的快照。当客户端无法连接到 Nacos Server 时,可以使 用配置快照显示系统的整体容灾能力。配置快照类似于 Git 中的本地 commit,也类似于缓存,会 在适当的时机更新,但是并0 码力 | 326 页 | 12.83 MB | 9 月前3TiDB v8.4 中文手册
组件间通信开启加密传输 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 714 8.1.4 生成自签名证书 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2441 13.10.4 使用 PingCAP Clinic 生成诊断报告 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2448 13 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3666 14.12.8 生成列· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 5072 页 | 104.05 MB | 9 月前3TiDB v8.5 中文手册
组件间通信开启加密传输 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 968 8.1.4 生成自签名证书 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2459 13.9.4 使用 PingCAP Clinic 生成诊断报告 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2467 13 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3685 14.12.8 生成列· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 5095 页 | 104.54 MB | 9 月前3TiDB v8.2 中文手册
组件间通信开启加密传输 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 656 8.1.4 生成自签名证书 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2440 13.11.4 使用 PingCAP Clinic 生成诊断报告 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2448 13 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3630 14.12.7 生成列· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4987 页 | 102.91 MB | 9 月前3Service Mesh结合容器云平台的思考和实践
• 认证和授权 • 智能路由 • 流量管理 • 服务降级 • … • 微服务拆分原则 • 业务API设计 • 数据一致性保证 • 可扩展性考虑 • …Kubernetes对于微服务的支撑 功能列表 详情 快速资源分配 容器编排和调度 服务部署&弹性伸缩 Deployment 服务注册&服务发现 Service概念和分布式DNS API网关 简单路由功能 统一日志中心 Fluentd Mesh云平台微服务演进之Service Mesh Pilot Envoy • 服务发现 • Envoy生命周期管理 • Envoy配置下发 • 服务模型 • 配置模型 • 负载均衡 • 智能路由(灰度、蓝绿) • 流量管理(超时、重试、熔断) • 故障处理 • 故障注入 • … Mixer • 前提条件检查:安全认证,黑白名单, ACL检查 • 限流管理 • 遥测报告:日志监控 件,内部提供了多个模块化的适配器(adapter)。 • Pilot 翻译过来是领航员,Pliot对Envoy的生命周期进行管理,同时提供了智能路由(如A/B测试、金丝雀部 署)、流量管理(超时、重试、熔断)功能。Pliot接收用户指定的高级路由规则配置,转换成Envoy的 配置,使这些规则生效。 • Istio-Auth 服务间认证和终端用户认证功能Istio的Pilot功能解析Pilot官方架构Istio0 码力 | 28 页 | 3.09 MB | 5 月前313 Istio 流量管理原理与协议扩展 赵化冰
SDK 实现的七层通信相关功能抽象 出来,使用一个专用层次来实现,Service Mesh 对应用透明,因此应用 可以无需关注分布式架构带来的通信相关问题,而专注于其业务价值。 流量控制:服务发现、请求路由、负载均衡、灰度发布、错误重试、 断路器、故障注入 可观察性:遥测数据、调用跟踪、服务拓扑 通信安全: 服务身份认证、访问鉴权、通信加密 Proxy Application Layer Service q 服务数据(Mesh 中有哪些服务?缺省路由) v Service Registry § Kubernetes:原生支持 § Consul、Eureka 等其他服务注册表:MCP over xDS (https://github.com/istio-ecosystem/consul-mcp) v 通过CRD定义的服务数据 q 自定义流量规则(如何将请求路由到这些服务?) v 通过CRD定义的流量规则 Destination Rule 外部请求 内部客户端 Service2 Service1 网格内部 定义网格入口 • 服务端口 • Host • TLS 配置 • 路由配置 • 根据 Host 路由 • 根据 Header • 根据 URI 路由 目的地流量策略配置 • LB 策略 • 连接池配置 • 断路器配置 • TLS 配置 Gateway External Service 统一网格出口 •0 码力 | 20 页 | 11.31 MB | 5 月前3开课吧基于混合云的Kubernetes平台落地实践-程亮
• 目录 2018 2019 2020 2021 K8S多环境 • 基于jenkins的传统发布 K8S多环境发布一期方案 • 一期通过K8S发布,一键master • 新增服务模版,自动生成deployment K8S多环境二期优化实战 • 一套代码,支持多种环境 • 物理隔离的多环境 • 共享资源的多环境 收益总结 • 降低服务器使用成本40% • 运维100%自动化 • 多云部署,高可用 一键拉起master镜像新环境 ‣ 如何确保环境间资源互不影响 ‣ 一期方案存在的问题与挑战 ‣ 如何实现线下多环境 • 一键拉起环境 注意点 • 数据建设依赖于规划 • 数据如何切分 原理 • 所有镜像自动生成 • 一键master镜像部署 1. 注册中心 2. Mysql Redis ES 3. 全链路微服务 4. 自动数据同步 • 一期多环境平台架构图 CDN / LB / WAF / NG K8S集群 如何做到激增流量时,全链路联动扩缩容 ‣ 如何通过共享减少资源占用 ‣ 如何识别流量,智能路由 • 资源隔离,逻辑隔离,物理隔离 逻辑隔离多环境共享一个K8S(线下) 问题1 多环境物理隔离(线下,线上) 问题2 推荐做法 • 资源严格隔离:独占K8S,根据引入流量区分线上,线下 • 资源逻辑隔离:线下环境,通过智能路由,解决多环境 • 多云部署的目的 目的一 目的二 目的三 多K8S集群严格隔离0 码力 | 22 页 | 7.42 MB | 9 月前3SOFAMOSN持续演进路径及实践分享
简单匹配路由 Ø 集群管理 & 基本负载均衡(RR、 RANDOM) Ø SofaRpc及HTTP/1.1、 HTTP/2.0支持 Ø 进程平滑升级 Ø SOFAMesh集成,支持 xDS on ADS Ø X-Protocol协议扩展机制, 以及Dubbo支持 Ø 支持network/stream filter 扩展 Ø 支持WRR负载均衡 Ø 支持subset复杂匹配路由 Ø 无损平滑迁移 无损平滑迁移 Ø ProtocolEngine协议扩展 机制 Ø 支持Router模式 Ø GRPC支持 Ø 协议自动识别 Ø 链式路由扩展 Ø 完善流量管理策略,包括 Retry、DirectResponse、 HTTP Header add/delete、 流控、故障注入等 Ø 支持必要的admin接口性能 0.1.0 0.2.0 0.3.0 0.4.0 Ø 内存复用框架 Ø 云原生场景下的多协议、路由&LB、后端管理、TLS、遥感监测、XDS对接等功能, 并充分优化了性能,目前已经在蚂蚁、UC生产环境进行了验证。落地实践案例蚂蚁落地 – 应用接入 ü 适用于蚂蚁当前的服务发现 体系 ü 通过中间件通道对应用推送 MOSN调用地址 ü 通过扩展cluster类型的方式 动态获取配置中心后端 ü MOSN出向路由基于明确的 服务依赖关系生成 ü 服务通过 id:version0 码力 | 29 页 | 7.03 MB | 5 月前3Service Mesh的实践分享
基本服务治理功能 App OSP Server Service Registry Service Config Center 服务发现 服务注册 服务元数据下发 OSP client 服务路由 网络传输 服务元数据上报缺点 • 语言单一 • 升级困难 • 复杂代码嵌入对客户端进程影响大服务化体系2.0 - Service Mesh雏形 • 物理机、sidecar • Local & Service Registry Service Config Center Remote Proxy Cluster API Gateway 备用链路 服务发现 服务注册 配置下发 服务路由 网络传输 OSP client多语言客户端接入 • HTTP & TCP • Local & Remote • 根据接入对象的不同,制定 不同的接入策略,达到 • 接入简单 • 保证性能 Service Registry Service Config Center Remote Proxy Cluster API Gateway 备用链路 服务发现 服务注册 配置下发 服务路由 网络传输 OSP client PhpApp Local Proxy OSP client Pod Local Proxy OSP client Pod OSP client Web0 码力 | 30 页 | 4.80 MB | 5 月前3
共 245 条
- 1
- 2
- 3
- 4
- 5
- 6
- 25