kubernetes的日志
1、日志在哪里
kubelet组件,systemd方式部署,journalctl -u kubelet 查看
其他组件,pod方式部署,kubectl logs 查看
容器运行时将日志写入 /var/log/pods
系统日志,/var/log/message
2、查看服务日志
#首先检查服务启动是否报错
systemctl status kubelet
#如果kubelet报错请查看相关日志
journalctl -u kubelet
3、kubectl logs查看POD和容器日志
#追踪名称空间 kube-system下pod名为etcd-k8s-master的日志
kubectl logs -f etcd-k8s-master -n kube-system
#追踪名称空间 nsA 下容器组 pod1 中容器 container1 的日志
kubectl logs -f pod1 -c container1 -n nsA
#如果容器已经崩溃停止,您可以仍然使用previous参数来获取日志
kubectl logs --previous
#查看pod日志
kubectl describe pod etcd-k8s-master -n kube-system
4、使用crictl查看容器日志
#打印正在运行的容器清单
sudo crictl ps -a
#获取容器的所有日志
crictl logs 87d3992f84f74
#获取最近的 N 行日志:
crictl logs --tail=10 87d3992f84f74
#容器上执行命令
crictl exec -i -t 1f73f2d81bf98 ls
5、容器运行时日志
查看目录/var/log/pods/下的日志,类似如下:
kube-flannel_kube-flannel-ds-c7j2m_f5d78efa-5ab3-48b2-9488-7ffba504d401/
kube-system_coredns-7bdc4cb885-9qd6r_f0a41568-0bef-4312-bbaf-6de83f5a7875/
kube-system_coredns-7bdc4cb885-k9d6l_067ce758-d9a8-4b1f-8fbd-c33bc710da2d/
kube-system_etcd-k8s-master_9f85047a488889695d653e524c5088f4/
kube-system_kube-apiserver-k8s-master_9e4ab13cc5ee36028c3854190b5d3d76/
kube-system_kube-controller-manager-k8s-master_9467ecc25c0c60196360d1bef19a731a/
kube-system_kube-proxy-q28tn_9e0839ed-0209-41d1-b5c7-f39c55c8a387/
kube-system_kube-scheduler-k8s-master_f5ea467575d722fc643a57fa666ea7ff/