漫步远方,心荡神往

使用 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)来实现服务通信的。这三种模式各有特点,为我们提供了丰富的选择来满足不同的服务通信需求。

初识 Istio Ambient Mesh 新模式

初步了解 Istio 新数据平面 Ambient,目前 Ambient 尚处于 Alpha 阶段,Sidecar 模式依然是首选,但我相信 Ambient 模式是未来很好的选择。

Ambient Mesh,这是 Istio 提供的一种新的数据平面模式,旨在简化操作,提供更广泛的应用兼容性,并降低基础设施的成本。Ambient mesh 使得用户可以选择使用一种可以集成到其基础设施中的 Mesh 数据平面,而不是需要和应用一起部署的 sidecar。同时,该模式可以提供和 Sidecar 模式相同的零信任安全、遥测和流量管理等 Istio 的核心功能。目前 Ambient mesh 处于 alpha 阶段。

浅析 Cilium 与 iptables

浅析 Cilium 为什么仍然使用 iptables。

似乎大家都不太喜欢 iptables,Cilium 好像也是一样的。使用了 Cilium 一段时间,对于 Cilium 使用 eBPF 构建高性能、可扩展的容器网络印象深刻,并且还具备 L7 策略和可观测性能力。如果你之前还没有听说过 Cilium,可以去了解与试用一下!

Cilium Mesh 常见场景与示例

Cilium Mesh 流量治理功能,如限流、熔断、负载均衡、灰度、Admin等

从早期开始,Cilium 就通过网络和应用程序协议层来提供连接、负载平衡、安全性和可观察性,从而与服务网格概念保持良好一致。对于所有网络处理,包括 IP、TCP 和 UDP 等协议,Cilium 使用 eBPF 作为高效的内核数据路径。HTTP、Kafka、gRPC、DNS 等应用层协议通过 Envoy 等代理进行解析。