kubectl logs <pod-id>
从我的部署中获取最新日志 - 我正在处理一个错误并且有兴趣知道运行时的日志 - 如何获得连续的日志流?
编辑:最后纠正的问题。
答案 0 :(得分:84)
kubectl logs -f <pod-id>
您可以使用-f
标志:
-f, --follow=false: Specify if the logs should be streamed.
答案 1 :(得分:17)
kubectl logs --help
将指导您:
示例:
# 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
左右。
答案 2 :(得分:2)
axios.post('/formulas/create', {
name: "",
parts: ""
})
.then(response => {
console.log(response)
})
.catch(error => {
console.log(error)
});
k8s_pod=some_pod
kubectl get pods -w $k8s_pod | while read LOGLINE
do
[[ "${LOGLINE}" == *"Running"* ]] && pkill -P $$ kubectl
done
for line in $(kubectl get pods | grep $k8s_pod | awk '{print $1}'); do
kubectl logs -f $line | tee logfile
done
答案 3 :(得分:2)
您可以使用-f
跟踪日志kubectl logs -f <pod_name>
如果日志已停止,很可能是Pod崩溃了,您可以检查Pod是否正在实际运行吗?检查年龄也许还是:
kubectl describe deploy/ds <deploy_or_ds_name>?
或者您也可以检查pod中有多个容器的容器的日志
kubectl logs -f <pod_name> -c <container_name>
答案 4 :(得分:1)
尝试一下,
吊舱的尾巴日志
kubectl --tail <“无行数”>日志<“ pod_name”>
示例:
kubectl --tail 100日志app_pod
答案 5 :(得分:0)
我需要访问长时间运行的pod的日志,-f
从几天前开始流式传输日志,这需要花费几个小时才能到达我需要查看的位置(仅在最后几分钟左右)。 。
有一个--since=10m
标志,但这似乎对我不起作用。
奇迹是--tail=100
,其中100
是最近显示的行数。
答案 6 :(得分:0)
如果要从多容器应用程序中获取日志流,可以使用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将
答案 7 :(得分:0)
kubctl日志-f = true [pod名称] -c [容器名称]
如果吊舱上只有一个容器,则不需要容器名称,否则将容器名称与-c选项一起使用。 -f,即默认情况下,Follow为假。如果未将其设置为true,则将获得容器日志的快照。
答案 8 :(得分:0)