<!-- AI_TASK_START: AI标题翻译 -->
[新产品/新功能] Microsoft 开源 Retina:一个云原生容器网络可观测性平台
<!-- AI_TASK_END: AI标题翻译 -->
<!-- AI_TASK_START: AI竞争分析 -->
# 产品功能分析
## 新功能/新产品概述
Retina 是一个云原生容器网络可观测性平台,旨在帮助 Kubernetes 用户、管理员和开发者可视化、观察、调试和分析工作负载流量,而不受 **Container Network Interface (CNI)**、操作系统 (OS) 或云提供商的限制。该产品由 Microsoft Azure Container Networking 团队开发,并于 2024 年 3 月 19 日开源发布在 GitHub 上。作为一个开源项目,Retina 针对云原生应用的复杂性,提供统一的网络洞察工具,适用于多云和本地环境。背景在于,随着 Kubernetes 的普及,企业应用越来越复杂,网络相关的问题(如故障排查和性能优化)成为瓶颈,Retina 通过非侵入式方法解决这些痛点,目标用户包括 DevOps 工程师、SecOps 专业人士以及基础设施可靠性工程师,市场定位聚焦于提升 Kubernetes 网络管理的可访问性和效率。
## 关键客户价值
- **简化网络观察和故障排除**:Retina 提供 pod 级别指标和详细上下文,帮助开发者快速识别问题如数据包丢失和延迟,而无需深入底层网络基础设施,实现非侵入式监控,这相对于传统工具减少了手动干预,提升了开发效率。
- 在多云场景中,该优势体现为无缝兼容性,避免了因 CNI 或 OS 差异导致的兼容性问题。
- **资源优化和成本效益**:平台保持低内存和 CPU 占用,即使在大规模集群中,也能提供高效的监控,相比现有开源解决方案的耦合性,Retina 的可扩展框架允许用户根据需求扩展插件,从而降低运维开销。
- 与传统 IaaS 监控相比,其 **eBPF** 驱动的架构实现了更细粒度的见解,而不增加应用开销,潜在地提升了整体系统可靠性。
- **增强安全性与合规性**:通过分布式数据包捕获和历史网络流日志,SecOps 团队能更好地分析流量,支持标签驱动的捕获机制,这在 DevOps 流程中提供了更强的可追溯性,相比竞品更注重 Kubernetes 特定上下文的集成。
## 关键技术洞察
- **基于 eBPF 的核心技术**:Retina 利用 **eBPF** 提供可操作的网络洞察,允许监控容器化微服务间的交互,而无需修改应用代码。该技术工作原理是通过内核级过滤器捕获网络事件,实现非侵入式数据收集,创新点在于其对性能的影响最小,支持 L4 指标、DNS 指标和分布式数据包捕获。
- 这提升了网络可观测性的准确性和实时性,但可能在高负载环境中面临 eBPF 程序复杂度的挑战,如内核兼容性问题,尽管 Retina 通过插件框架进行了优化。
- **可扩展性和兼容性设计**:作为插件化框架,Retina 支持任何 CNI、OS(如 Linux 和 Windows)和云提供商,允许用户自定义数据收集和导出器(如 Prometheus 指标),技术创新体现在其解耦设计,避免了与其他工具的强依赖。
- 这对性能和可用性有积极影响,例如通过 Kubernetes 特定上下文提供 pod 级别指标,提高了流量分析的精确度;然而,在大规模部署时,扩展性虽强,但需关注插件管理可能带来的额外复杂性。
- **架构灵活性**:Retina 的架构包括数据收集、指标导出和调试功能,支持标签驱动的捕获和历史日志,相比传统网络工具,其多云兼容性体现了云原生趋势,但实现中可能需要用户配置优化以应对不同环境下的变异性。
## 其他信息
- **开源愿景和社区参与**:Microsoft 通过开源 Retina,旨在与社区合作,收集反馈并扩展功能,这有助于推动 Kubernetes 网络可观测性的行业标准化,用户可通过 GitHub 仓库或官方文档(如 [Retina 文档](https://retina.sh/docs/intro))快速上手。
- **与 Azure 生态整合**:Retina 借鉴了 Azure Kubernetes Service (AKS) 的经验,提供针对网络监控的指标和 traces,这增强了其在 Microsoft 生态中的适用性,同时保持多云开放性。
<!-- AI_TASK_END: AI竞争分析 -->
<!-- AI_TASK_START: AI全文翻译 -->
# Microsoft 开源 Retina:一个云原生容器网络可观测性平台
**原始链接:** [https://azure.microsoft.com/en-us/blog/microsoft-open-sources-retina-a-cloud-native-container-networking-observability-platform/](https://azure.microsoft.com/en-us/blog/microsoft-open-sources-retina-a-cloud-native-container-networking-observability-platform/)
**发布时间:** 2024-03-19
**厂商:** Azure
**类型:** 博客
---
Microsoft Azure 容器网络团队很高兴宣布 Retina,这是一个云原生容器网络可观测性平台 (cloud-native container networking observability platform),它有助于处理您 Kubernetes 集群的 DevOps 和 SecOps 相关网络问题。
Microsoft Azure 容器网络团队很高兴宣布 Retina,这是一个云原生容器网络可观测性平台,它使 Kubernetes 用户、管理者和开发者能够可视化、观测、调试和分析 Kubernetes 工作负载流量,而不受容器网络接口 (Container Network Interface, CNI)、操作系统 (OS) 和云平台的限制。我们很高兴将 Retina 以 [开源仓库](https://github.com/microsoft/retina) 形式发布,这有助于处理您 Kubernetes 集群的 DevOps 和 SecOps 相关网络问题,我们邀请开源社区与我们一同创新。

## Retina
一个云原生容器网络可观测性平台
[ 阅读更多 ](https://retina.sh/)
## 拥抱并推进开源软件
云原生技术如 Kubernetes (Kubernetes) 使得构建可以在任何地方运行的应用变得更容易。与此同时,许多应用变得更加复杂,在云端管理它们也越来越困难。随着公司构建云原生应用,这些应用由互连的服务组成,并部署到多个公有云以及私有基础设施,网络相关可观测性、故障排除和调试变得越来越困难。
借助扩展 Berkeley 数据包过滤器 (extended Berkeley Packet Filter, eBPF) 的强大功能,现在可以提供可操作的网络洞察,包括容器化微服务如何交互,并以非侵入方式实现,而无需对应用本身进行任何更改——这正是 Retina 旨在实现的。Retina 将帮助普及网络可观测性和故障排除,通过为应用开发者带来新的关注点。Retina 为开发者提供简单的方式来观测和排除应用问题,例如数据包丢失和延迟,而无需担心底层网络基础设施和转换的复杂性。
基于我们在社区中与 eBPF 和 Cilium 的积极经验,我们很高兴深化这一关系,并与更多社区进行互动。我们相信,通过将 Retina 向社区开放,我们可以从有见地的反馈、创新想法和协作努力中受益,从而帮助增强和扩展 Retina 的功能。
## Retina 的解决方案和功能
基于我们管理 [Azure Kubernetes 服务 (AKS)](https://azure.microsoft.com/en-us/products/kubernetes-service/) 的多个容器网络服务的广泛经验,我们识别出 Kubernetes 集群中网络监控、网络指标和追踪收集的关键空白。Retina 是一个前沿解决方案,用于填补这些空白,并设计来应对管理 Kubernetes 网络的复杂挑战,为基础设施和站点可靠性工程师提供集群网络的全面洞察。Retina 还提供 Kubernetes 特定上下文的深度流量分析,将指标转换为行业标准 Prometheus 指标或网络流量日志。
现有的开源解决方案通常与特定 CNI、OS 或数据平面紧密耦合,从而限制了其通用性和使用。因此,Retina 被设计和开发为一个高度通用、可适应和可扩展的插件框架,能够无缝与任何 CNI、OS 或云提供商配合——使其成为现有工具集的宝贵补充。Retina 支持 Linux 和 Windows 数据平面,确保满足基础设施和站点可靠性工程师的多样需求,同时保持集群上最小化的内存和 CPU 占用——即使在规模化场景中也是如此。Retina 的 **可插拔性** 设计理念有助于我们轻松扩展和适应新用例,而不依赖于特定 CNI、OS 或数据平面。

图 1: Retina 的架构概述
Retina 的关键功能之一是提供深度网络流量洞察,包括第 4 层 (L4) 指标、域名系统 (DNS) 指标和分布式数据包捕获。它无缝集成 Kubernetes 应用模型,提供带有详细上下文的 Pod 级指标。它将可操作的网络可观测性数据输出到行业标准 Prometheus 指标中,提供节点级指标 (例如,转发、丢弃、传输控制协议 (TCP)、用户数据报协议 (UDP) 和 Linux 工具) 以及 Pod 级指标 (如基本指标、DNS 和 API 服务器延迟)。
Retina 的分布式数据包捕获是标签驱动的——允许用户指定捕获哪些数据包、何处捕获和从谁捕获。此外,它提供网络流量日志的历史上下文和高级调试功能,从而增强网络故障排除和性能优化。
## 我们对 Retina 的愿景
许多企业采用多云策略,希望解决方案不仅在 [Microsoft Azure](http://azure.microsoft.com) 上运行良好,还能在其他云和本地环境中运行。Retina 从一开始就是开源和多云的。通过开源 Retina,我们旨在与更广泛的云原生生态系统分享我们的知识和愿景。我们希望 Retina 通过与其他开发者及组织的协作不断演进和发展,这些组织在该领域拥有相似的经验和目标。
在架构方面,可扩展性从一开始就是关键,并将继续下去。Retina 在数据收集方面提供可扩展性——允许用户轻松添加新指标和洞察。它还在导出器方面提供可扩展性——使用户能够与其他监控系统和工具集成。这种灵活性确保 Retina 可以适应不同的用例和环境,使其成为 Kubernetes 网络可观测性的通用且强大的平台。总之,我们将 Retina 设想为一个平台,允许任何人贡献、扩展和创新,最终创建一个稳健、专为目的构建的、全面的 Kubernetes 网络可观测性解决方案。
## 入门指南
我们希望这篇博客文章为您介绍了 Retina、其功能和益处。Retina 是一个我们非常兴奋的项目,我们欢迎您的反馈、建议和贡献。无论您是网络工程师、DevOps 工程师、站点可靠性工程师还是云原生爱好者,我们邀请您尝试 Retina,并查看它如何帮助您获得 Kubernetes 网络的更深层可见性。
- [eBPF 分布式网络可观测性工具](https://github.com/microsoft/retina) 用于 Kubernetes
- [Retina 介绍](https://retina.sh/docs/intro)
- [什么是 Azure Kubernetes 服务 (AKS) 网络可观测性?](https://learn.microsoft.com/en-us/azure/aks/network-observability-overview)
- 如果您有问题,[联系我们](mailto:retina@microsoft.com)。
<!-- AI_TASK_END: AI全文翻译 -->