作为调试的一部分,我需要跟踪像pod创建和删除这样的事件。在我的kubernetes设置中,我使用的是日志级别5。
kubelet服务器、调度器、控制器等运行在主节点上,而从属节点运行的是kubelet和docker。
我使用journalctl在主节点和工作节点上获取K8s日志。在worker节点上,我可以看到Docker和Kubelet的日志。这些日志包含事件,正如我在创建和销毁荚时所期望的那样。
然而,在主节点上,我没有看到任何相关的日志,这些日志可能指示创建或删除请求处理。
我可以使用什么其他日志或方法从Kubernetes主组件(API服务器、控制器、调度器等)获取这样的日志?
我已经检查了API服务器、控制器、调度程序和etcd pods的日志,它们似乎没有这样的信息。
谢谢
发布于 2019-03-13 21:03:20
系统组件日志:
有两种类型的系统组件:
例如:
在容器中运行Kubernetes调度程序和kube代理
例如,kubelet和容器运行时不会在容器中运行。
在具有systemd的机器上,kubelet和容器运行时将写入日志。如果systemd不存在,它们将写入/var/log目录中的.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 但是,所有这种日志记录方法都只是用于测试,您应该将所有日志( app日志、容器日志、集群级别日志、所有内容)流到一个中心日志系统,比如ELK或EFK。
https://stackoverflow.com/questions/55150780
复制相似问题