kubectl logs <pod-id>

从我的部署中获得最新的日志-我正在处理一个错误,并有兴趣了解运行时的日志-我如何获得连续的日志流?

编辑:最后更正的问题。


当前回答

Kubctl logs -f=true [pod-name] -c [container-name]

如果你在pod上只有一个容器,容器名是不需要的,否则使用容器名和-c选项。 -f即follow默认为false。如果您没有将其设置为true,您将获得容器日志的快照。

其他回答

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日志—帮助将指导您:

例子:

# 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,从相对时间之前开始。

试试这个,

豆荚的尾木

Kubectl——tail <"no of lines"> logs <"pod_name"> . log

例子:

Kubectl—tail 100日志app_pod

等待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