在 CentOS 上查看 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>
如果是 containerd(CentOS 8 / 新版本 k8s):
/var/log/pods/
/var/log/containers/
示例:
ls /var/log/pods/
tail -f /var/log/pods/<namespace>_<pod>_<id>/<container>/0.log
如果是 Docker(老版本):
/var/lib/docker/containers/
journalctl -u docker
组件(kube-apiserver、kube-controller-manager、kube-scheduler、etcd)以 Pod 运行:
kubectl logs -n kube-system kube-apiserver-<node>
kubectl logs -n kube-system kube-controller-manager-<node>
kubectl logs -n kube-system kube-scheduler-<node>
kubectl logs -n kube-system etcd-<node>
journalctl -u kube-apiserver
journalctl -u kube-controller-manager
journalctl -u kube-scheduler
journalctl -u kubelet -f
journalctl -u etcd
journalctl -u kubelet -f
或:
less /var/log/messages | grep kubelet
tail -f /var/log/messages
dmesg -T | tail
kubectl describe pod <pod-name> -n <ns>
kubectl logs <pod-name> --previous
journalctl -u kubelet
systemctl status kubelet
如果你能告诉我:
我可以给你更精确的命令。