  
TA的每日心情 | 无聊 3 天前 |
---|
签到天数: 1653 天 [LV.Master]伴坛终老
|
kubectl logs -f -tail=200 pod名称 -n 名称空间--prevlous -c 容器名称
场景
当pod处于crash状态的时候,容器不断重启,此时用kubectl logs可能出现一直捕捉不到日志
解决方法:
kubectl previous 参数数作用:If true, print the logs for the previous instance of the container in a pod if it exists
单容器pod
kubectl logs pod-name --previous
多容器pod
kubectl logs pod-name --previous -c container-name
原理
kubelet会保持pod的前几个失败的容器,这个是查看的前提条件。
kubelet实现previous的核心原理:
将pod的日志存放在var/log/pods/podname,并且是链接文件,链接到docker的容器的日志文件,同时kubelet还会保留上一个容器,同时有一个链接文件链接到pod上一个的日志文件,使用previous就是查看的这个文件
|
|