漫步远方,心荡神往

eBPF 周边生态圈明星产品

主要介绍基础项目如BCC、Cilium等,新兴项目如Pyroscope、eCapture等,同时介绍基础设施如Linux Kernel、bpftool和常见的eBPF工具链如cilium/ebpf、libbpfgo、libbpf等。

主要介绍基础项目如BCC、Cilium等,新兴项目如Pyroscope、eCapture等,同时介绍基础设施如Linux Kernel、bpftool和常见的eBPF工具链如cilium/ebpf、libbpfgo、libbpf等。

使用 Pixie 实现 Kubernetes 服务可观测性(4)

Pixie 是一个开源的观测和调试平台,旨在实时捕获、查询和可视化云原生应用程序的数据。它提供了一种轻量级的方式来收集和分析 Kubernetes 集群中的数据,以便进行实时观察、调试和监控。

Pixie 是一个用于 Kubernetes 应用程序的开源可观察性平台。Pixie 使用 eBPF 自动捕获遥测数据,可以使用 Pixie 查看集群的状态(服务映射、集群资源、应用程序流量),还可以深入查看更详细的视图(pod 状态、火焰图、应用程序单个请求生命周期)。Pixie 由 New Relic 公司于 2021 年 6 月捐赠给 [CNCF](https://www.cncf.io/) 作为孵化项目。

使用 Hubble 实现 Kubernetes 服务可观测性(3)

Hubble 是一个用于云原生工作负载的完全分布式网络和安全可观察性平台。它建立在 Cilium 和 eBPF 之上,以完全透明的方式深入了解服务的通信和行为以及网络基础设施

Hubble - 使用 eBPF 的 Kubernetes 的网络、服务和安全可观测性。Hubble 则是 Cilium 的一个子项目,专注于提供网络可观察性。Hubble 可以收集和可视化 Cilium 网络的流量信息,帮助用户理解网络流量的模式,检测网络问题,理解应用的行为。Hubble 提供了一个丰富的可视化界面,可以显示网络流量的详细信息,包括源 IP、目标 IP、端口号、协议类型、数据包数量、字节数量等。

使用 coroot 实现 Kubernetes 服务可观测性(2)

coroot 是针对微服务架构的可观测性和故障分析工具,它基于 eBPF 来可视化展示服务之间的拓扑关系,并对七层与四层的可观测性进行了强化,可以帮助你快速定位七层与四层的故障。

本篇文章主要介绍 Coroot 架构、核心功能、示例、核心源码、示例等。

深入研究 Kubernetes 集群中的 Service 通信机制

Kubernetes 中的服务是一种简单的抽象,但与任何抽象层类似,它增加了系统的复杂性,并使故障排除变得更具挑战性。本文我们来研究下在 Kubernetes 集群中,Service 之间是如何通信的。

在我们的学习过程中,首先我们探讨了在 Docker Swarm 集群模式下,服务之间是如何进行通信的。我们了解到,Docker Swarm 使用内置的服务发现和负载均衡机制来实现服务间的通信。然后,我们转向 Kubernetes,研究了在 kube-proxy、Istio Service Mesh 和 Cilium 三种模式下服务到服务的通信机制。在 kube-proxy 模式下,我们了解到它使用 Iptables 或者 IPVS 来实现服务的负载均衡。而在 Istio Service Mesh 模式下,服务间的通信是通过 Envoy 代理来实现的,它提供了丰富的流量控制和安全策略。最后,在 Cilium 模式下,我们学习了它是如何利用 BPF(Berkeley Packet Filter)来实现服务通信的。这三种模式各有特点,为我们提供了丰富的选择来满足不同的服务通信需求。