如何获取Kubernetes deployment的所有pod中日志?

啊啊 发表于: 2021-11-21   最后更新时间: 2021-11-21 23:18:03   1,409 游览

运行kubectl logs显示一个Kubernetes容器的stderr/stdout

我怎样才能获得一组pod的stderr/stdout汇总,最好是由某个deployment创建的pod?

发表于 2021-11-21

你可以使用labels

kubectl logs -n namespace -l app=label -c container
啊啊 -> 半兽人 3年前

谢谢大佬。

你可以像半兽人建议的那样使用标签从多个容器中获取日志。

kubectl logs --selector app=yourappname

如果你的pod有多个容器,上述命令就会失败,你需要指定容器名称。

kubectl logs --selector app=yourappname --container yourcontainername

注意:如果你想看看有哪些标签可供你使用,下面的命令将列出所有的标签。

kubectl get pod <one of your pods> -o template --template='{{.metadata.labels}}'

...输出看起来像下面的样子:

map[app:yourappname controller-revision-hash:598302898 pod-template-generation:1]

注意,某些标签可能不会被其他 Pod 共享 - 选择 "app"似乎是最简单的哦

啊啊 -> 小蕊 3年前

感谢,更丰富了。

你的答案

查看kubernetes相关的其他问题或提一个您自己的问题