kubectl日志 - 不断

问题描述 投票:52回答:5
kubectl logs <pod-id>

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

编辑:最后纠正的问题。

kubernetes google-kubernetes-engine kubectl
5个回答
95
投票
kubectl logs -f <pod-id>

你可以使用-f标志:

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

http://kubernetes.io/docs/user-guide/kubectl/kubectl_logs/


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左右。


3
投票

wait for kubes to spin up pod then move on...

k8s_pod=some_pod
kubectl get pods -w $k8s_pod | while read LOGLINE
do
   [[ "${LOGLINE}" == *"Running"* ]] && pkill -P $$ kubectl
done

tail logs

for line in $(kubectl get pods | grep $k8s_pod | awk '{print $1}'); do
    kubectl logs -f $line | tee logfile
done

look for success indicator

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

0
投票

我需要访问一个长时间运行的pod的日志,-f从几天前开始流式传输日志,这需要几个小时才能到达我需要查看的地方(仅仅是最后几分钟左右)。

有一个--since=10m标志,但这似乎并不适合我。

什么奇迹是--tail=100,其中100是最近显示的线数。


0
投票

如果您想从多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中删除日志

© www.soinside.com 2019 - 2024. All rights reserved.