使用rancher的同学都知道,rancher管理系统中能看到的日志真的是寥寥无几啊。所以这个肯定是不符合我们的迫切想去分析查看日志的欲望,下面直接说下怎么去获取容器内的日志。
先获取指定namespace下的pod,执行命令如下:
kubectl get pod -n <namespace>
输入结果大致如下:
NAME READY STATUS RESTARTS AGE
xxxxxxx-proxy-564d7849cb-4brcp 1/1 Running 0 5d21h
xxxxxxx-xxx-xxxx-55694cfbf8-h5d79 1/1 Running 0 2d2h
xxxxxxx-xxx-xxxx-55694cfbf8-mvsnx 1/1 Running 0 5d18h
xxxxxxx-xxxx-cp-kafka-0 2/2 Running 0 78d
xxxxxxx-xxxx-cp-kafka-1 2/2 Running 0 78d
xxxxxxx-xxxx-cp-kafka-2 2/2 Running 0 78d
xxxxxxx-xxxx-cp-kafka-connect-55bd77bcd7-6l6nv 2/2 Running 3 78d
xxxxxxx-xxxx-cp-kafka-rest-56488d469c-nnn8b 2/2 Running 0 78d
xxxxxxx-xxxx-cp-ksql-server-6dc99b7ccb-444cs 2/2 Running 3 78d
xxxxxxx-xxxx-cp-schema-registry-869d4ffcf5-shfj8 2/2 Running 3 78d
xxxxxxx-xxxx-cp-zookeeper-0 2/2 Running 0 78d
xxxxxxx-xxxx-cp-zookeeper-1 2/2 Running 0 78d
xxxxxxx-xxxx-cp-zookeeper-2 2/2 Running 0 78d
xxxxxxx-xxxx-kafka-topics-ui-56886dc986-nnw9r 1/1 Running 0 77d
xxxxxxx-xxxx-xxxxx-5f5f855698-dkfw4 1/1 Running 0 21d
xxxxxxx-xxxx-page-84c845458d-cs69t 1/1 Running 0 78d
minio-bf76768b9-96d2h 1/1 Running 0 78d
想查看当前实时日志,通过下方命令获取
kubectl logs -f <pod-name> -n <namespace>
具体结果不作展示,你执行成功就能瞧见
想要一次性获取pod从启动至今输出到控制台(注意是输出到控制台)的日志怎么获取?执行下面的命令可以将历史的日志全部输出到本地文件中:
kubectl logs <pod-name> -n <namespace> > log.txt
说明:windows 文件输出位置不指定,一般在系统盘当前用户目录下
上面的命令加上-f ,会持续将实时日志输出到log.txt
kubectl logs -f <pod-name> -n <namespace> > log.txt
全部评论