【发布时间】:2022-01-26 03:32:22
【问题描述】:
我正在寻找一种方法来流式传输我的特定部署的所有 pod 的日志。
所以,几天前我发现this SO answer给了我一个神奇的命令:
kubectl logs -f deployment/<my-deployment> --all-containers=true
但是,经过大量调试后,我刚刚发现此命令实际上只显示了一个 pod 的日志,而不是所有部署的日志。 所以我去了Kubectl's official documentation,并没有发现任何与该主题相关的内容,只是在使用部署作为一种选择器的示例上方的以下短语用于日志流:
...
# Show logs from a kubelet with an expired serving certificate
kubectl logs --insecure-skip-tls-verify-backend nginx
# Return snapshot logs from first container of a job named hello
kubectl logs job/hello
# Return snapshot logs from container nginx-1 of a deployment named nginx
kubectl logs deployment/nginx -c nginx-1
那么为什么显示的第一个示例显示“显示日志”而另外两个显示“返回快照日志”?
是不是因为这个“快照”,我无法从部署的所有 pod 中检索日志? 我已经搜索了很多关于使用 kubectl 流式日志的更深入的文档,但找不到任何内容。
【问题讨论】:
标签: kubernetes kubectl