Kubernetes事件日志



作为调试的一部分,我需要跟踪诸如POD创建和删除之类的事件。在我的kubernetes设置中,我正在使用记录级别5。

kube API服务器,调度程序,控制器等在主节点上运行,而奴才节点正在运行kubelet和docker。

我正在使用journalctl在Worker节点上也可以在主节点上获取K8S日志。在工作节点上,我可以看到Docker和Kubelet的日志。这些日志包含我所期望的事件,因为我创建和销毁了豆荚。

但是,在主节点上,我看不到任何相关日志,这些日志可能表明POD创建或删除请求处理。

我可以使用哪些其他日志或方法从Kubernetes Master组件(API服务器,控制器,调度程序等)获取此类日志?

我已经检查了来自API服务器,控制器,调度程序等的日志;他们似乎没有这样的信息。

谢谢

系统组件日志:

有两种类型的系统组件:

  • 那些在容器中运行的

  • 以及不在容器中运行的

例如:

Kubernetes调度程序和Kube-Proxy在容器中运行

kubelet和容器运行时,例如Docker,请勿在容器中运行。

在带有SystemD,kubelet和容器运行时写入Journald的机器上。如果不存在SystemD,则将其写入/var/log Directory中的.log文件。容器内部的系统组件始终写入/var/log目录,绕过默认的日志记录机构。他们使用klog日志记录库。

主组件日志:

从主节点上运行的那些容器中获取它们。

$ 
$ docker ps | grep apiserver
d6af65a248f1        af20925d51a3                 "kube-apiserver --ad…"   2 weeks ago         Up 2 weeks                              k8s_kube-apiserver_kube-apiserver-minikube_kube-system_177a3eb80503eddadcdf8ec0423d04b9_0
5f0e6b33a29f        k8s.gcr.io/pause-amd64:3.1   "/pause"                 2 weeks ago         Up 2 weeks                              k8s_POD_kube-apiserver-minikube_kube-system_177a3eb80503eddadcdf8ec0423d04b9_0
$ 
$ 
$ docker logs -f d6a  

但是,所有这些记录方法都只是用于测试,您应该将所有日志(应用程序日志,容器日志,集群级别日志,所有内容)流到中心日志记录系统(例如麋鹿或EFK)。

最新更新