kubectl logs <pod-id>
从我的部署中获得最新的日志-我正在处理一个错误,并有兴趣了解运行时的日志-我如何获得连续的日志流?
编辑:最后更正的问题。
kubectl logs <pod-id>
从我的部署中获得最新的日志-我正在处理一个错误,并有兴趣了解运行时的日志-我如何获得连续的日志流?
编辑:最后更正的问题。
当前回答
kubectl logs -f <pod-id>
你可以使用-f标志:
-f,——follow=false:指定是否对日志进行流式处理。
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#logs
其他回答
kubectl logs -f <pod-id>
你可以使用-f标志:
-f,——follow=false:指定是否对日志进行流式处理。
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#logs
你可以在log后面加上-f
kubectl logs -f <pod_name>
如果日志被停止,很可能是吊舱崩溃了,你能检查吊舱是否真的在运行吗?检查一下年龄或者:
kubectl describe deploy/ds <deploy_or_ds_name>?
或者你也可以查看吊舱内集装箱的日志,因为里面有多个集装箱
kubectl logs -f <pod_name> -c <container_name>
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键,它就会恢复。
Kubectl日志—帮助将指导您:
例子:
# Begin streaming the logs of the ruby container in pod web-1
kubectl logs -f -c ruby web-1
国旗:
-f, --follow[=false]: Specify if the logs should be streamed.
你还可以加上——since=10m or so,从相对时间之前开始。
建议
似乎您希望在不使用“沉重的”第三方日志记录解决方案的情况下从您的终端查看日志。
为此,我会考虑使用K9S,它是一个很棒的CLI工具,可以帮助您控制集群——查看不同的k8s资源,在工作负载之间导航,深入日志并持续地观察它们。
如何使用工具(几行)
在当前终端中设置K8S上下文后,只需输入k9s来点击仪表板。在那里,你可以输入你想要查看的资源(服务、部署、pod..),输入“:”-以及资源名称。
你也可以从命名空间级别开始,一直到pods和容器日志——如下面的例子所示:
选择
如果你不是只绑定到CLI,但仍然想在本地运行,我会推荐在Lens。