ubuntu

Kubernetes在Ubuntu上的日志如何查看

小樊
48
2025-10-20 23:53:21
栏目: 智能运维

一、原生工具查看日志(基础排查)

1. 查看Pod容器日志(最常用)

命令格式kubectl logs <pod-name> [-n <namespace>] [-c <container-name>] [--flag]

2. 查看节点系统/组件日志

Kubernetes节点上的系统日志(如内核、服务日志)和Kubernetes组件日志(如kubelet、kube-apiserver)可通过以下方式查看:

二、进阶日志管理(生产环境推荐)

1. 日志收集与集中化存储

原生kubectl logs适合临时排查,生产环境需使用日志聚合工具实现集中化存储、检索、可视化,常见方案:

2. 日志轮换与压缩

为防止节点磁盘空间耗尽,需对容器日志进行轮换与压缩

三、调试技巧(快速定位问题)

1. 查看容器内实时日志

若需实时查看容器内的标准输出(stdout)和标准错误(stderr),可使用kubectl logs -f <pod-name>,适合快速定位应用运行时问题(如启动错误、请求异常)。

2. 查看容器内文件系统日志

若应用将日志写入容器内的文件(而非标准输出),可通过kubectl exec进入容器查看:

kubectl exec -it <pod-name> -- /bin/bash  # 进入容器
ls /var/log/  # 查找日志文件路径
cat /var/log/app.log  # 查看日志内容

或直接使用kubectl exec执行命令(无需进入容器):

kubectl exec <pod-name> -- cat /var/log/app.log

3. 查看Pod事件

Pod的事件(如调度失败、拉取镜像错误、重启次数)能快速定位问题根源,使用以下命令查看:

kubectl describe pod <pod-name> [-n <namespace>]

重点关注Events部分,例如:

Events:
  Type     Reason     Age   From               Message
  ----     ------     ----  ----               -------
  Warning  Unhealthy  5m    kubelet            Liveness probe failed: HTTP probe failed with statuscode: 503
  Normal   Pulling    10m   kubelet            Pulling image "nginx:latest"

0
看了该问题的人还看了