跳转到内容

开发环境 vs. 生产环境

Kubetail 在开发环境和生产环境中都表现良好,只是它在不同阶段所提供的价值略有不同。


分布式系统之所以难调试,是因为一次用户请求往往会经过很多服务。Kubetail 正是为这种场景设计的。借助 Kubetail,您可以把多个服务的日志合并为一条按时间顺序排列的时间线,跨越工作负载中的所有容器,并实时观察请求如何在系统中流动。

由于 Kubetail 会跟踪容器生命周期事件,因此即便容器重启或被替换,日志流也会保持连续。这使得您可以轻松追踪一次请求从头到尾的路径,并重现问题,而不必再依靠单独的 Pod 日志去重新拼凑事件经过。

要在开发环境中开始使用 Kubetail,只需安装 kubetail CLI,然后运行 kubetail serve 在浏览器中查看日志,或运行 kubetail logs 将日志流式输出到终端(参见快速开始)。无需任何集群侧安装,也不需要先配置日志转发管道。


Kubetail 同样可以平滑扩展到生产环境。您可以用它来确认流量路径是否按预期工作,也可以实时 spot check 服务日志,确保它们没有产生任何错误。

Kubetail 并不是完整可观测性平台的替代品。Datadog、Grafana、ClickHouse、VictoriaMetrics、Honeycomb、Dash0 和 Loki 这类工具更适合长期日志保留、告警、指标关联以及大规模历史分析。Kubetail 的优势在于实时可见性和实时日志 tailing,这与那些擅长存储和查询的平台形成了很好的互补。

一种常见模式是将 Kubetail 用于实时调试,而把主日志平台用于其他所有工作: 指标看板、告警以及事故后的分析。

Kubetail 在事故处理中有一个重要的运维优势: 它只要求 kube-apiserver 可达。它不依赖外部日志服务必须在线,也不依赖远程存储后端必须响应。当您的集群已经陷入故障、可观测性技术栈也已经退化时,Kubetail 仍然可以为您提供一个关于容器此刻正在做什么的实时视图。