Microsoft Azure 容器网络团队最近宣布了一个开源项目,名为 视网膜. 这个云原生容器网络可观测平台允许 DevOps 工程师和管理员跨不同环境可视化、调试和分析工作负载流量.
Retina 收集可定制的遥测数据,这些遥测数据可以发送到各种存储解决方案,包括 普罗米修斯, Azure 监视器, 和其他提供商,并通过不同的产品展示,例如 格拉法纳, Azure 日志分析, 和其他平台。 它不直接与 Azure 绑定; 用户可以在任何 Kubernetes 实例、本地或 AWS、Azure 或 GCP 中运行 Retina.
视网膜利用扩展 伯克利数据包过滤器 (eBPF),就像 Falco安全工具, 并允许在主机操作系统上执行内核级代码,而不影响应用程序容器。 这种方法消除了对容器代理或代码库进行监控的需要,允许单个 eBPF 探针监控主机上的所有节点,无论是基于云的还是物理硬件.
此外,Retina支持Linux和Windows环境,不受特定限制 容器网络接口 (CNI)、操作系统或数据平面。 它能够高效扩展,同时在集群上使用最少的资源.
Retina 的架构概述(来源: 微软 DevOps 博客)
要开始使用 Retina,用户应该克隆 Retina GitHub 存储库 并使用提供的 Helm 图表安装它。 对于数据记录,可能需要配置 Prometheus。 Linux 托管的 Kubernetes 环境是必要的 CLI 访问, CLI 无缝集成到 kubectl 中,以便于与其他 Kubernetes 工具一起使用。 还可以通过 YAML 自定义资源定义来配置和执行网络捕获.
Microsoft Azure 公司副总裁兼技术研究员 Deepak Bansal 和 Microsoft Azure 合作伙伴组工程经理 Chandan Aggarwal 写道:
许多企业采用多云,希望解决方案不仅可以在 Microsoft Azure 上运行良好,而且可以在其他云和本地云上运行良好。 Retina 从第一天起就是开源和多云的。 通过开源 Retina,我们的目标是与更广泛的云原生生态系统分享我们在 Kubernetes 网络可观测性方面的知识和愿景。 我们希望 Retina 能够通过与在该领域拥有相似经验和目标的其他开发者和组织的合作而不断发展和成长.
然而,作为黑客新闻的受访者,还有更多的产品 线 关于视网膜声明:
红帽也有类似的 基于 eBPF 的工具 (免责声明:我正在努力)- 恕我直言,视网膜或 Redhat netobserv 或 pixie 的酷之处在于它们不与特定的 CNI 绑定。 现在出现的问题之一是基于 eBPF 的工具之间潜在的冲突和缺乏协作,因为越来越多的工具。 有一种东西叫做 BPF曼 旨在解决这方面的问题.
另一个人回应:
您还可以查看 深流, 我们使用 eBPF 实现了微服务的分布式跟踪,当然也包括 K8s 网络的可观察性.