Logging 如何在不打开两个终端和使用kubectl tail命令的情况下获取两个吊舱的日志?

Logging 如何在不打开两个终端和使用kubectl tail命令的情况下获取两个吊舱的日志?,logging,kubernetes,Logging,Kubernetes,我是kubernetes的新手,想同时跟踪两个豆荚的日志。但要做到这一点,我必须打开两个终端并使用以下命令 kubectl日志-f-n名称空间 我想知道是否有更好的方法可以在不打开多个终端的情况下获取日志,因为如果POD数量增加,这会造成严重问题 我不是在寻找一些测井仪器,而是一些易于设置的方法,可以帮助我实现这一点 提前谢谢。他们有相同的标签吗?如果有,那么您可以使用kubectl日志本身对其进行过滤。例如: kubectl logs -n <namespace> -l <

我是kubernetes的新手,想同时跟踪两个豆荚的日志。但要做到这一点,我必须打开两个终端并使用以下命令

kubectl日志-f-n名称空间
我想知道是否有更好的方法可以在不打开多个终端的情况下获取日志,因为如果POD数量增加,这会造成严重问题

我不是在寻找一些测井仪器,而是一些易于设置的方法,可以帮助我实现这一点


提前谢谢。

他们有相同的标签吗?如果有,那么您可以使用
kubectl日志
本身对其进行过滤。例如:

kubectl logs -n <namespace> -l <label-key>=<label-value>
kubectl日志-n-l=

如上所述,如果POD共享任何标签,则可以使用标签。如果吊舱中有多个容器,可以使用以下命令:

kubectl logs -n <namespace> -f deployment/<app-name>
--all-containers=true
kubectl日志-n-f部署/

Stern允许您跟踪Kubernetes上的多个吊舱以及吊舱内的多个容器。每个结果都用颜色编码,以便更快地调试。查询是一个正则表达式,因此pod名称可以很容易地进行筛选,而不需要指定确切的id(例如省略部署id)。如果删除了一个pod,它将从尾部移除,如果添加了一个新的pod,它将自动跟踪

使用以下简单命令:

stern -n <namespace> <app-name> -t --since 30m
stern-n

它是一个bash脚本,允许您将多个pod中的日志聚合(跟踪/跟踪)到一个流中。这与运行“kubectl logs-f”相同,但适用于多个吊舱

从所有匹配吊舱的所有容器中传输日志。按服务、复制集、部署和其他匹配吊舱。调整以适应不断变化的集群-当POD落入或退出选择时,会从日志记录中添加或删除它们

这是Kubernetes吊舱的尾部f体验