kubectl logs
查看 Pod 中容器的日志输出
语法
kubectl logs <pod-name> [-c container] [flags]
参数
| 参数 | 说明 | 示例 | 级别 |
|---|---|---|---|
-f --follow |
实时跟踪日志输出 | kubectl logs -f web-pod |
常用 |
-c --container |
指定多容器 Pod 中的容器 | kubectl logs web-pod -c sidecar |
常用 |
--tail |
只显示最后 N 行 | kubectl logs web-pod --tail=100 |
常用 |
--since |
显示指定时间段内的日志 | kubectl logs web-pod --since=1h |
常用 |
--previous |
查看上一个容器实例的日志 | kubectl logs web-pod --previous |
进阶 |
-l --selector |
按标签查看多个 Pod 的日志 | kubectl logs -l app=web --all-containers |
进阶 |
示例
查看 Pod 日志
kubectl logs web-app-6f7b8c9d-k2m4n
输出容器的标准输出和标准错误
实时跟踪日志
kubectl logs -f web-app-6f7b8c9d-k2m4n --tail=50
从最后 50 行开始实时跟踪
查看崩溃容器的日志
kubectl logs web-pod --previous
容器重启后查看上次崩溃前的日志
查看最近一小时日志
kubectl logs web-pod --since=1h
按时间范围过滤日志
查看多个 Pod 日志
kubectl logs -l app=web --all-containers --max-log-requests=10
同时查看一组 Pod 的日志
常见错误
container not found
多容器 Pod 需要用 -c 指定容器名
previous terminated container not found
容器没有重启过,没有 previous 日志
技巧
- CrashLoopBackOff 时用 --previous 查看崩溃前的日志
- 生产环境建议配合 stern 工具查看多 Pod 日志
- 日志量大时用 --since 和 --tail 限制范围