自从应用的部署从 tomcat 转移到 kubernetes 之后,再也不能像下面这样一句命令查看日志了:
1 | tail -f /usr/local/tomcat7/logs/catalina.out |
在我记住 k8s 操作步骤之前,暂时记录下来以备忘。
1. 找到 pod
1 | kubectl get pods -n=test -o wide |
-n=test
: 指定命名空间-o wide
: 显示更多内容
2. 找到 container
当 pod 上有多个 container 时,需要明确查看哪个。
查找 container 的方式有两个,
- 在应用部署的对应 yaml 文件中找到 containers->name
- 在 pod 详情中找 Container:
1
kubectl describe pod my-app-7c8fb75b76-spm8n -n=test
如果缺省这步的话,查看日志可能会遇到下面的提示:
1 | [root@k8s-master ~]# kubectl logs -f my-app-7c8fb75b76-spm8n -n test --tail=500 --v=1 |
3. 查看日志
1 | kubectl logs -f my-app-7c8fb75b76-spm8n -c partner-kpi -n test --tail=500 --v=1 |
-c partner-kpi
: container 容器--tail=500
: 显示最新 500 行。可以换成--since=1h
,这个也很实用--v=1
: 日志级别 1
另外,k8s 的命令中=
号可以省略。