温馨提示×

Debian Kubernetes日志如何查看

小樊
47
2025-11-15 11:13:29
栏目: 智能运维

Debian 上查看 Kubernetes 日志的实用指南

Debian 上,Kubernetes 的日志通常分为两类:一是 应用容器日志(通过 kubectl logs 获取),二是 节点组件日志(如 kubelet、kube-proxy 等,通过 journalctl 查看)。下面给出常用命令与高效排查路径,覆盖日常排错与长期留存需求。

查看应用容器日志

  • 基本查看
    • 查看指定 Pod:kubectl logs
    • 指定 命名空间:kubectl logs -n
    • 多容器 Pod 指定容器:kubectl logs -c 或 kubectl logs --container=
  • 实时与时间段
    • 实时跟踪:kubectl logs -f
    • 最近 N 行:kubectl logs --tail=
    • 最近 5m 日志:kubectl logs --since=5m
    • 指定时间之后:kubectl logs --since-time=2025-11-15T10:00:00Z
    • 显示时间戳:kubectl logs --timestamps
  • 历史与多 Pod
    • 查看已终止容器日志:kubectl logs --previous
    • 按标签查看多个 Pod:kubectl logs -l app=myapp -c
  • 实用组合示例
    • 实时查看 default 命名空间、标签为 app=myappweb 容器,并显示时间戳:kubectl logs -f -l app=myapp -c web --timestamps

查看节点与控制平面组件日志

  • 使用 journalctl 查看节点组件(kubelet、kube-proxy 等)
    • kubelet:sudo journalctl -u kubelet -f
    • kube-proxy:sudo journalctl -u kube-proxy -f
    • 查看 kube-scheduler:sudo journalctl -u kube-scheduler
    • 查看 kube-apiserver:sudo journalctl -u kube-apiserver
  • 使用 systemctl 检查服务状态
    • kubelet:sudo systemctl status kubelet
    • kube-proxy:sudo systemctl status kube-proxy
  • 补充
    • 系统级日志:/var/log/messages 也可能包含相关异常信息

事件与排错辅助命令

  • 查看 Pod 详细信息与事件:kubectl describe pod -n
  • 查看 节点 详细信息与事件:kubectl describe node
  • 查看 命名空间 事件:kubectl get events -n
  • 快速定位异常:先 get pods 确认状态,再 describe 看事件,最后 logs 查容器输出

集中式日志方案与可视化工具

  • EFK(Elasticsearch + Fluentd + Kibana):Fluentd DaemonSet 采集节点与容器日志,写入 Elasticsearch,用 Kibana 检索与可视化,适合大规模与长期留存。
  • Loki + Grafana:轻量级聚合,配合 Grafana 查询与面板展示,资源开销小,适合 Kubernetes 环境。
  • Kubernetes Dashboard:Web UI 直接查看 Pod 日志与集群状态,便于快速浏览。
  • Stern:多 Pod 日志 tail 工具,便于同时跟踪一组 Pod

0