kubectl logs <pod-id>
从我的部署中获得最新的日志-我正在处理一个错误,并有兴趣了解运行时的日志-我如何获得连续的日志流?
编辑:最后更正的问题。
kubectl logs <pod-id>
从我的部署中获得最新的日志-我正在处理一个错误,并有兴趣了解运行时的日志-我如何获得连续的日志流?
编辑:最后更正的问题。
当前回答
如果你想从一个多pod应用程序中获取日志流,你可以使用kubetail,例如:
kubectl get pods
NAME READY STATUS RESTARTS AGE
app2-v31-9pbpn 1/1 Running 0 1d
app2-v31-q74wg 1/1 Running 0 1d
kubetail app2
使用该命令,kubetail将跟踪pod app2-v31-9pbpn和app2-v31-q74wg的日志
其他回答
Kubctl logs -f=true [pod-name] -c [container-name]
如果你在pod上只有一个容器,容器名是不需要的,否则使用容器名和-c选项。 -f即follow默认为false。如果您没有将其设置为true,您将获得容器日志的快照。
kubectl logs -f <pod-id>
你可以使用-f标志:
-f,——follow=false:指定是否对日志进行流式处理。
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#logs
Kubectl logs -f zk-app-0——tail 10
该命令将从最后10行开始输出日志。如果这里没有提到tail,那么k8s将流化所有可用的日志(即最近10 MB的日志或最近5次日志循环)。
然而,有时我遇到使用这个命令时日志流停止的问题。然后我只需按ctrl-c并再次运行该命令。
从容器中的进程中流stdout和stderr的另一种方法是使用kubectl attach。
kubectl attach zk-app-0
这将附加到主容器并传输控制台日志。但是,kubectl日志中没有任何额外的日志功能。在这种情况下,如果日志记录停止,只需在键盘上按enter键,它就会恢复。
把它们放在一起,你可能不想看到所有旧的历史记录,所以只看到最近的20行,并继续添加新的输出行(即跟随),像这样运行它:
kubectl logs --tail=20 -f container-name
试试这个,
豆荚的尾木
Kubectl——tail <"no of lines"> logs <"pod_name"> . log
例子:
Kubectl—tail 100日志app_pod