k8s系统的自身的组件日志
systemd守护进程管理的组件
kubelet是使用systemd管理的,systemd管理的服务查看日志的方式是
journalctl -u kubelet
journalctl -u kubelet -f # 查看实时日志
pod部署的组件
kubeadm搭建的集群,除了kubelet组件是systemd管理的,其他都是pod形式,日志都输出到控制台了
查看方式
kubectl logs podName
kubectl logs -f podName 查看实时日志
系统日志
/var/log/message
k8s集群里部署应用的日志
标准输出(输出到控制台)
kubectl logs podName
kubectl logs -f podName 查看实时日志
日志文件(保存在日志文件里)
容器中的日志都在宿主机上有映射的日志文件,查看容器日志除了使用kubectl logs 查看还可以进入容器查看日志文件或者查看宿主机上对应的日志文件。其实无论是容器里的日志文件还是kubectl logs 标准输出的日志,都是来自于对应宿主机上的日志文件
容器日志在宿主机上的路径:
docker ps # 查看容器ID
/var/lib/docker/containers/<container-id>/<container-id>-json.log
进入容器中查看日志
kubectl exec -it podName -n nameSpace -- bash
# kubectl exec -it etcd-k8s-master -n kube-system -- bash
kubectl logs 获取日志的方式,读取的最终是docker里的日志
kubectl logs -> apiserver -> kubelet -> docker (xx-json.log)