kubectl日志-连续


Answers:


172
kubectl logs -f <pod-id>

您可以使用-f标志:

-f, --follow=false: Specify if the logs should be streamed.

https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#logs


服务日志或除Pod之外的其他东西如何?
亚历山大·米尔斯

4
这会在短时间内起作用,然后日志停止。我必须按ctrl-c才能退出kubectl,然后重新启动它们。此后显示更多日志,但再次停止。有人知道为什么当吊舱显然仍在生成日志时,为什么日志会停在随机的位置?
pferrel

20

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从相对的时间开始添加左右。


吊舱中可以有多个容器吗?
亚历山大·米尔斯

@AlexanderMills是的,这是“边车”模式
grokpot

6

我需要访问运行时间很长的Pod的日志,并-f从几天前开始流式传输日志,这花了几个小时才能到达需要查看的位置(仅在最后几分钟左右)。

有一个--since=10m标志,但这似乎对我不起作用。

令人惊奇的是--tail=100100最近显示的行数在哪里。


4

等待kubes旋转豆荚然后继续前进...

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

寻找成功指标

tail logfile | grep successful! 
RESULT=$?
exit $RESULT

“成功!” 可能需要根据您的广告连播进行更改。
ddtraveller '18

我从其他几个stackoverflow帖子中获得了前两个部分,所以我无法完全相信这些内容,但是我希望这个组合可以为其他人带来好处...
ddtraveller

4

如果要从多容器应用程序中获取日志流,可以使用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被拖尾从荚日志APP2-v31-9pbpn APP2-V31-q74wg


1

试试这个,

豆荚的尾巴原木

kubectl --tail <“无行数”>日志<“ pod_name”>

范例

kubectl --tail 100日志app_pod


0

kubctl日志-f = true [pod名称] -c [容器名称]

如果吊舱上只有一个容器,则不需要容器名称,否则请使用带有-c选项的容器名称。-f ie缺省情况下为false。如果未将其设置为true,则将获得容器日志的快照。


0

您可以使用-f跟踪日志

kubectl logs -f <pod_name>

如果日志已停止,很可能是Pod崩溃了,您可以检查Pod是否正在实际运行吗?检查年龄可能是或:

kubectl describe deploy/ds <deploy_or_ds_name>?

或者,您也可以检查Pod中容器的日志,其中有多个容器

kubectl -f <pod_name> -c <container_name> 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.