在 Debian 上部署的 Kubernetes 集群中,“查日志”通常分几种场景。下面按最常见用法给你一份实用清单。
kubectl logs <pod-name>
指定命名空间:
kubectl logs <pod-name> -n <namespace>
kubectl logs <pod-name> -c <container-name>
kubectl logs -f <pod-name>
kubectl logs <pod-name> --previous
kubectl logs -l app=nginx
K8s 日志最终落在节点上,取决于你用的运行时。
日志目录:
/var/log/pods/
/var/log/containers/
查看示例:
ls /var/log/pods/
tail -f /var/log/containers/*.log
journalctl -u kubelet -f
# containerd
journalctl -u containerd -f
通常在:
/etc/kubernetes/manifests/
日志查看:
journalctl -u kube-apiserver
journalctl -u kube-controller-manager
journalctl -u kube-scheduler
或:
kubectl logs -n kube-system kube-apiserver-<node>
journalctl -xe
iptables -L
ip a
如果是生产环境,建议:
kubectl get pods -A
kubectl describe pod <pod> -n <ns>
kubectl logs <pod> -n <ns>
journalctl -u kubelet -f
如果你愿意,可以告诉我:
我可以给你更精确的命令。