温馨提示×

如何查Debian K8s日志

小樊
38
2026-10-11 04:46:44
栏目: 智能运维

在 Debian 上查看 Kubernetes(K8s)日志,通常要分组件日志、Pod/容器日志、系统服务日志三类来看。下面按常见场景给你一个实用指南。


一、查看 Pod / 容器日志(最常用)

1. 查看某个 Pod 日志

kubectl logs <pod-name>

指定命名空间:

kubectl logs <pod-name> -n <namespace>

2. 查看前一个容器日志(容器重启过)

kubectl logs <pod-name> --previous

3. 查看多容器 Pod 中某个容器

kubectl logs <pod-name> -c <container-name>

4. 实时跟踪日志

kubectl logs -f <pod-name>

5. 查看 Deployment 关联的 Pod 日志

kubectl logs deployment/<deployment-name> -n <namespace>

二、Node 上直接查看容器日志(Debian 文件系统)

K8s 容器日志通常存在:

/var/log/pods/
/var/log/containers/

示例:

ls /var/log/pods/
tail -f /var/log/pods/<namespace>_<pod-name>_<id>/<container>.log

如果使用 containerd:

/var/log/pods/

如果使用 Docker(较老版本):

/var/lib/docker/containers/

三、Kubernetes 系统组件日志

1. kubectl 方式(推荐,适用于 kubeadm)

kubectl get pods -n kube-system
kubectl logs -n kube-system <component-pod>

常见组件:

  • kube-apiserver
  • kube-controller-manager
  • kube-scheduler
  • kube-proxy
  • etcd

2. Debian systemd 方式(取决于安装方式)

使用 kubeadm + systemd

journalctl -u kubelet -f

containerd

journalctl -u containerd -f

Docker(老版本)

journalctl -u docker -f

四、etcd 日志

kubectl logs -n kube-system etcd-<node-name>

或:

journalctl -u etcd

五、集群事件(排错很有用)

kubectl get events -A
kubectl describe pod <pod-name> -n <namespace>

六、日志集中方案(生产推荐)

  • EFK:Elasticsearch + Fluentd + Kibana
  • Loki + Promtail + Grafana
  • Filebeat + ELK

七、常见问题排查顺序(建议)

  1. kubectl get pod -A
  2. kubectl describe pod
  3. kubectl logs
  4. journalctl -u kubelet
  5. 查看 /var/log/pods

如果你能告诉我:

  • K8s 安装方式(kubeadm / 二进制 / 云厂商)
  • 容器运行时(containerd / docker)
  • 具体想查哪类日志(Pod / 控制面 / 网络)

我可以直接给你精准命令。

0 踩