Istio Meetup China 服务网格安全 理解 Istio CNI张之晗 Tetrate ⼯程师/Istio 社区 Release Manager 服务⽹格安全—— 理解 Istio CNI Istio Meetup China About me Istio 1.10 Release Manager, Istio Community, 2021-Present GetMesh(GetIstio) core contributor, Istio Community0 码力 | 19 页 | 3.17 MB | 1 年前3
Istio 与 Knative 踩坑实录酷家乐 Istio 与 Knative 踩坑实录 付铖 (花名:橙子) 酷家乐 技术专家1/25 从3D Mesh 到Service Mesh2/25 /01 /02 /03 实践进展 Istio的价值和问题 Knative的实践和瓶颈3/25 分享主题:字号 实践进展 /01 酷家乐在服务网格和FAAS方向上的实践进展汇总4/25 生产环境Istio稳定运行 酷家乐于2018年8月29日在国际站生产环0 码力 | 26 页 | 1.35 MB | 6 月前3
13 Istio 流量管理原理与协议扩展 赵化冰Istio 流量管理原理与协议扩展 赵化冰 赵化冰 腾讯云 服务网格团队 https://zhaohuabing.com Service Mesh Service Mesh Layer 处理服务间通信(主要是七层通信)的云原生基础设施层: Service Mesh 将各个服务中原来使用 SDK 实现的七层通信相关功能抽象 出来,使用一个专用层次来实现,Service Mesh 对应用透明,因此应用 对应用透明,因此应用 可以无需关注分布式架构带来的通信相关问题,而专注于其业务价值。 流量控制:服务发现、请求路由、负载均衡、灰度发布、错误重试、 断路器、故障注入 可观察性:遥测数据、调用跟踪、服务拓扑 通信安全: 服务身份认证、访问鉴权、通信加密 Proxy Application Layer Service 1 Istio 流量管理 – 概览 • 控制面下发流量规则: Pilot • 数据面标准协议:xDS0 码力 | 20 页 | 11.31 MB | 6 月前3
Envoy原理介绍及线上问题踩坑reserved. Page 5 Envoy介绍 • Envoy采用C++实现,本身为四层及七层代理,可以根据用户应用请求内的数据进行高级服务治理 能力,包括服务发现、路由、高级负载均衡、动态配置、链路安全及证书更新、目标健康检查、 完整的可观测性等。 • 目前常见数据面主要有三种:Envoy、Linkerd、Traefic。Envoy由于高性能和扩展能力前在数据面遥 遥领先。 • Iptabl GID=1337创建Envoy启动命令行与配置文件 • 可以通过自定义deployment内istio注解sidecar.istio.io/inject: “false”跳过自动注入过程,或修改部分启动参数。 • 2. 控制面通信 • Pilot-agent进程本身创建UDS接收Envoy连接,用于证书更新下发。并且与istiod建立证书更新通道。 • Envoy 通过pilot-agent转发机制与istiod建 上游cluster endpoint配置 POST /envoy.service.endpoint.v3.EndpointDiscoveryService/StreamEndpoints SDS 安全及证书配置 POST /envoy.service.secret.v3.SecretDiscoveryService/StreamSecrets 监听端口,连接入口 L4过滤,请求入口 L7过滤0 码力 | 30 页 | 2.67 MB | 1 年前3
Istio 在 Free Wheel 微服务中的实践逻辑用Golang重写,引入了Kubernetes。随着模块越来越多,复杂 的通信带来矛盾日渐突出:流量管理、监控… 最初的尝试:Gateway • 如右图,最初我们尝试用一个自研的 简单Gateway来提供统一的认证、授 权、限流、监控,但问题很快凸显出 来了: • Gateway是一个中心化的反向代 理,成为了微服务中的瓶颈,模 块流量会互相影响 • 大锅饭带来了复杂的配置管理, 渐渐难以为继 • Istio的架构和基本原理 Policy提供授权、Quota等能力 • Telemetry提供监控数据收集能力 基本原理 • Istio从架构上可以分为4个板块: • Istio Proxy: Mesh的基础 • 网络安全:兼容Spiffe标准实现 • 配置管理:为C++实现的Proxy接 入k8s的动态配置管理 • Attribute Machine: 授权,Quota ,Tracing,监控的基础 Istio管理下的微服务 • FreeWheel的痛点 FreeWheel的Istio实践 • 在FreeWheel,我们已经有一套复杂的自定义认证、授权机制,为了 充分利用Istio,我们通过扩展Istio来整合这些系统,涉及两方面: • 扩展Sidecar:加入认证支持,提供了对业务系统的认证支持,将用 户相关信息以header的形式传入mesh,后续的授权、监控、限流 都可以用Istio原生的机制来完成 •0 码力 | 31 页 | 4.21 MB | 1 年前3
Extending service mesh capabilities using a streamlined way based on WASM and ORASi lters ○ …. ● 自定义开发: ○ 静态预编译: ■ 将其他过滤器集成到Envoy的源代码中,并编译新的Envoy版本。 ■ 这种方法的缺点是您需要维护Envoy版本,并不断使其与官方发行版保持同步。 ■ 此外,由于Envoy是用C++实现的,因此新开发的过滤器也必须用C++实现。 ○ 动态运行时加载: ■ 在运行时将新的过滤器动态加载到Envoy代理中。 ■ 简化了扩展Envoy的过程 和Rust)编译为WASM,因此开发人员可 以选择实现过滤器的编程语言。 ○ 可靠性和隔离性:过滤器会被部署到VM沙箱中,因此与Envoy进程本身是隔离的;即使 当WASM Filter出现问题导致崩溃时,它也不会影响Envoy进程。 ○ 安全性:过滤器通过预定义API与Envoy代理进行通信,因此它们可以访问并只能修改有 限数量的连接或请求属性。 ● Cons ○ 性能约为C++编写的原生静态编译的Filter的70%; 该configmap存放要拉取的wasm filter 的地址, 例如: acree-1-registry.cn-hangzhou.cr.aliyuncs.com/asm/sample:v0.1 ○ 如果需要授权认证, 该asmwasm-controller会根据定义的pullSecret值获得相应的 secret值; ○ 然后,调用oras API从注册库中动态拉取wasm filter; ○ 该asmw0 码力 | 23 页 | 2.67 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践Istio治理的不只是微服务,只要有访问的服务,都可以被治理。 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL 故障注入 服务身份和安全 认证 鉴权 平台支持 Kubernetes CloudFoundry Eureka 集成和定制 ACL 日志 配额 Consul 功能 扩展 Istio总体架构 Istio & Kubernetes:架构结合 一个典型的VirtualService Istio在华为云:Kubernetes全栈容器服务 应用运维管理 丰富可定制的容器应用立体化运维 容器镜像服务 容器镜像一站式构建、存储与交付 应用编排服务 应用云上自动化编排与设施管理 云容器实例 基于K8S的Serverless容器服务 云容器引擎 企业级高可靠、高性能K8S服务 服务网格 K8S原生Service Mesh Istio在华为云:华为云容器应用0 码力 | 38 页 | 14.93 MB | 1 年前3
Kubernetes容器应用基于Istio的灰度发布实践Istio治理的不只是微服务,只要有访问的服务,都可以被治理。10 Istio关键能力 流量管理 负载均衡 动态路由 灰度发布 可观察性 调用链 访问日志 监控 策略执行 限流 ACL 故障注入 服务身份和安全 认证 鉴权 平台支持 Kubernetes CloudFoundry Eureka 集成和定制 ACL 日志 配额 Consul 功 能 扩 展11 Istio总体架构12 Istio 一个典型的VirtualService27 Istio在华为云:Kubernetes全栈容器服务 应用运维管理 丰富可定制的容器应用立体化运维 容器镜像服务 容器镜像一站式构建、存储与交付 应用编排服务 应用云上自动化编排与设施管理 云容器实例 基于K8S的Serverless容器服务 云容器引擎 企业级高可靠、高性能K8S服务 服务网格 K8S原生Service Mesh28 Istio在华为云:华为云容器应用290 码力 | 34 页 | 2.64 MB | 6 月前3
全栈服务网格 - Aeraki 助你在
Istio 服务网格中管理任何七层流量七层(请求级别)负载均衡 ■ 地域感知负载均衡 ■ 熔断 ■ 基于版本的路由 ■ 基于 Method 的路由 ■ 基于 Header 的路由 ○ 可观测性:七层(请求级别)Metrics ○ 安全:基于 Interface/Method 的服务访问 控制 #IstioCon Aeraki Demo: 用户请求和批处理任务隔离(Dubbo) 场景:隔离处理用户请求和批处理任务的服务实例,为用户请求留出足够的处理能 实现一个自定义协议时,只需要实现 Decode 和 Encode 扩展点的少量代码 (C++)。 ● 提供基于 WASM 和 Lua 的 L7 filter 扩展点,用户可以实现一些灵活的自定义协议处理逻辑,例如认证授权等。 #IstioCon MetaProtocol: 请求处理路径 处理流程: 1. Decoder 解析 Downstream 请求,填充 Metadata 2. L7 filter 从0 码力 | 29 页 | 2.11 MB | 1 年前3
SolarMesh 基于Istio构建的流量监管平台Cloud To Go 为什么我们需要服务网格 - 服务网格带来了什么 服务网格是一个云原生的网络基础设施,它把微服务调度中有关网络的公共能力下沉,在无任何代码侵入的 情况下提供可观察性、流量管理和安全性等能力。 Copyright © 2021 Cloud To Go SolarMesh的定位 - 基于Istio构建的流量监管平台 Istio是目前服务网格领域最流行的开源项目,38% 及容器技术,提供流量监控 和管理,提供完善的非侵入式服务治理解决方案。 帮助企业在纷繁复杂的微服务调度中快速定位问题, 增强研发效率。 让服务网格不再难学难用,让服务网格在企业落地 更加平滑、安全、稳定。 Copyright © 2021 Cloud To Go 应用场景 - 云上应用故障的可视化排查 传统的故障定位方式 使用solarmesh的故障定位方式 1. 发现页面报错 2 To Go SolarMesh的架构设计 负载均衡 服务发现 弹性伸缩 k8s 应用 自我修复 基础设施 | VM/DOCKER 熔断限流 流量观测 超时重试 服务网格 流量安全 SolarMesh Copyright © 2021 Cloud To Go •轻量 核心组件少安装简单,轻量的架构赋予SolarMesh极低的资源占用以及极低的维护成本 •规范0 码力 | 20 页 | 1.29 MB | 1 年前3
共 17 条
- 1
- 2













