在 Debian 上查看 Kubernetes(K8s)日志,通常要分组件日志、Pod/容器日志、系统服务日志三类来看。下面按常见场景给你一个实用指南。
kubectl logs <pod-name>
指定命名空间:
kubectl logs <pod-name> -n <namespace>
kubectl logs <pod-name> --previous
kubectl logs <pod-name> -c <container-name>
kubectl logs -f <pod-name>
kubectl logs deployment/<deployment-name> -n <namespace>
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/
kubectl get pods -n kube-system
kubectl logs -n kube-system <component-pod>
常见组件:
kube-apiserverkube-controller-managerkube-schedulerkube-proxyetcdjournalctl -u kubelet -f
journalctl -u containerd -f
journalctl -u docker -f
kubectl logs -n kube-system etcd-<node-name>
或:
journalctl -u etcd
kubectl get events -A
kubectl describe pod <pod-name> -n <namespace>
kubectl get pod -Akubectl describe podkubectl logsjournalctl -u kubelet/var/log/pods如果你能告诉我:
我可以直接给你精准命令。