运行kubectl日志可以看到一个Kubernetes容器的stderr/stdout。

我如何获得一组pod的聚合stderr/stdout,最好是由某个复制控制器创建的那些?


当前回答

我们刚刚推出了一个Kubernetes本地日志工具,可以从所有的pod(你指定的)收集日志,并将日志发送到一个集中的位置。

我希望它能帮助任何人登陆这个页面:https://github.com/parseablehq/collector

其他回答

对我有用:

Kubectl logs -n namespace -l app=label -c container

不确定这是否是一个新事物,但随着部署,可以这样做:

kubectl logs deployment/app1

@johan的回答让我想到了一句话:

for i in $(kubectl get pods -n default |cut -d" " -f1); do kubectl logs $i -n default; done

我创建了一个名为kubetail的小bash脚本来实现这一点。例如,跟踪名为“app1”的pod的所有日志,你可以这样做:

kubetail app1

你可以在这里找到脚本。

我使用这个命令。

kubectl -n <namespace> logs -f deployment/<app-name> --all-containers=true --since=10m