温馨提示×

Kubernetes在Debian上的日志如何查看

小樊
35
2025-12-07 04:28:58
栏目: 智能运维

在 Debian 上查看 Kubernetes 日志的常用方法

一 查看应用容器日志

  • 基本用法
    • 查看指定 Pod 日志:kubectl logs <pod-name> -n <namespace>
    • 多容器 Pod 指定容器:kubectl logs <pod-name> -n <namespace> -c <container-name>
    • 实时跟踪:kubectl logs -f <pod-name> -n <namespace>
    • 最近时间/行数:kubectl logs <pod-name> --since=5mkubectl logs <pod-name> --tail=10
    • 指定起始时间:kubectl logs <pod-name> --since-time=2025-12-07T00:00:00Z
    • 查看上一次崩溃容器日志:kubectl logs <pod-name> -p
    • 按标签查看多个 Pod:kubectl logs -l app=myapp -n <namespace>
  • 实用组合
    • 先定位 Pod:kubectl get pods -n <namespace>
    • 再查看日志:kubectl logs <pod-name> -n <namespace> -f --tail=50
    • 结合事件排查:kubectl describe pod <pod-name> -n <namespace>(关注 Events 段)

二 查看节点与系统组件日志

  • 使用 systemd 查看组件日志(kubelet、kube-proxy 等)
    • 实时查看 kubelet:sudo journalctl -u kubelet -f
    • 查看 kube-proxy:sudo journalctl -u kube-proxy -f
    • 查看服务状态:sudo systemctl status kubelet
  • 直接查看节点日志文件
    • 常见路径:/var/log/kubelet.log/var/log/kube-proxy.log/var/log/containerd.log/var/log/syslog/var/log/kern.log
    • 实时查看示例:sudo tail -f /var/log/kubelet.log
  • 无法 SSH 到节点时的调试
    • 在目标节点创建调试会话:kubectl debug node/<node-name> -it --image=ubuntu
    • 在调试容器的 /host 下访问节点根文件系统,查看:/host/var/log/kubelet.log/host/var/log/syslog

三 查看容器运行时与宿主机日志文件

  • 容器标准输出在宿主机的符号链接
    • 路径:/var/log/containers/<pod>_<namespace>_<container>-<id>.log
    • 特点:这些文件通常链接到实际容器日志,便于用常规命令检索(如 grep、awk)
  • Docker 运行时容器日志
    • 路径:/var/lib/docker/containers/<container-id>/<container-id>-json.log
  • 快速定位某 Pod 所在节点与日志文件
    • 获取节点:kubectl get pod <pod-name> -n <namespace> -o jsonpath='{.spec.nodeName}'
    • 登录该节点后到 /var/log/containers/ 下按 Pod/命名空间/容器名查找对应 .log 文件

四 集中化日志方案与多 Pod 跟踪工具

  • 集中化日志
    • EFK(Elasticsearch + Fluentd + Kibana):Fluentd 以 DaemonSet 形式收集节点与容器日志,写入 ES,Kibana 可视化
    • Loki + Grafana:轻量聚合,配合 Promtail 采集,在 Grafana 中查询与展示
  • 多 Pod 跟踪
    • Stern:支持多 Pod、多容器 tail,适合按标签聚合查看:stern -n <namespace> -l app=myapp
  • 可视化与监控
    • Kubernetes Dashboard:Web UI 查看 Pod 日志与集群状态
    • Prometheus + Grafana:指标与可视化;日志建议与 Loki/EFK 搭配使用

0