Extending service mesh capabilities using a streamlined way based on WASM and ORAS
2.67 MB
23 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档介绍了基于WASM和ORAS扩展服务网格能力的方法,重点关注在阿里云服务网格ASM中的实现。WASM技术允许动态加载过滤器到Envoy代理中,无需停止或重新编译,提供了敏捷性、可维护性、多样性和安全性等优势,但性能约为C++编写的原生静态编译Filter的70%。ASM通过asmwasm-controller监听configmap,使用ORAS API从注册库中动态拉取WASM Filter,并挂载到节点上。文档还详细描述了WASM Filter的配置、部署流程以及与OCI注册库的交互方式。 | ||
AI总结 | ||
本文介绍了基于WASM(WebAssembly)和ORAS(OCI Registry As Storage)扩展服务网格能力的简化方法,重点应用于阿里云服务网格ASM(Alibaba Cloud Service Mesh)。以下是核心观点和关键信息的总结:
1. **WASM 在服务网格中的应用**
- **动态加载**:通过WASM技术,可以在运行时动态加载新的过滤器到Envoy代理中,无需停止或重新编译Envoy进程。
- **优势**:
- **敏捷性**:过滤器可动态加载,简化了Envoy的扩展过程。
- **可维护性**:无需修改Envoy基础代码即可扩展功能。
- **多样性**:支持多种编程语言(如C/C++、Rust)编译为WASM。
- **隔离性**:过滤器运行在VM沙箱中,与Envoy进程隔离,确保稳定性。
- **安全性**:过滤器通过预定义API与Envoy通信,限制了对连接或请求属性的修改。
- **劣势**:
- 性能约为原生C++过滤器的70%。
- 启动WASM虚拟机会增加内存消耗。
- WebAssembly生态系统尚不成熟。
2. **ORAS 与 OCI 注册库**
- ORAS是OCI Artifacts项目的参考实现,简化了在OCI注册库中存储任意内容的过程。
- 使用ORAS API/SDK可以将WASM模块推入或拉取到OCI注册库中,类似Docker CLI的操作。
3. **阿里云服务网格ASM中的WASM实现**
- **生命周期管理**:ASM通过DaemonSet(asmwasm-controller)统一管理WASM过滤器的生命周期。
- **动态拉取与加载**:asmwasm-controller监听ConfigMap,使用ORAS API从注册库中拉取WASM过滤器,并通过HostPath挂载到节点上。
- **授权认证**:支持通过pullSecret进行授权认证。
4. **开发与部署流程**
- **开发阶段**:使用WASM SDK生成WASM二进制文件,并通过ORAS CLI推送到OCI镜像仓库。
- **部署阶段**:创建ASMFilterDeployment CR,确认Istio EnvoyFilter CR生效,并在ASM中启用WASM功能。
- **调试与监控**:可通过登录Proxy容器查看WASM过滤器是否挂载成功,并调整WASM日志级别进行调试。
5. **示例与规范**
- 提供了WASM过滤器的配置示例和WASM Artifact镜像规范参考,帮助开发者快速上手。
总结:通过WASM和ORAS技术,阿里云服务网格ASM实现了对Envoy代理的动态扩展和统一管理,提升了服务网格的灵活性和可维护性,同时提供了安全隔离的执行环境。尽管WASM在性能和生态系统上仍有改进空间,但其在服务网格中的应用前景广阔。 |
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
11 页请下载阅读 -
文档评分