ITPub博客

首页 > 云计算 > Docker/K8 > Kubernetes node为何总是自动重启?

Kubernetes node为何总是自动重启?

原创 Docker/K8 作者:danny_2018 时间:2018-09-18 18:08:56 0 删除 编辑

了解Kubernetes的人都知道,我们要想在Kubernetes中创建一个Deployment 部署,就会在Node上创建一个Pod,Pod是Kubernetes中对于一组容器以及与容器相关的资源的集合。Pod中的容器会共享IP和端口资源。而Pod总是运行在Node上,Node可以是物理机也可以是虚拟机。

但是,很多开发者都会遇到这样一个问题,Kubernetes node总是自己重启,到底是什么原因导致的呢?如何查找具体的问题点?

有相关经验的人,第一反应是看log。

在生产环境中,使用kubectl命令是可以查看pod的log的;但是查看log很不方便。容器针对标准输出和标准错误的log都是落盘了的,如果使用kubernetes管理,还需要去每个container查看磁盘上的日志。所在,在实际生产环境中,我们需要使用官方推荐的elasticsearch+kibana。

和docker一样,Kubernetes在日志这一块的支持主要还是在标准输出上。比较通用的做法是用ELK这套东西来操作。首先,在创建pod的时候,就把宿主机的某个目录映射上去,pod写日志到这个目录下。其次,在宿主机上运行一个单独的搜集日志的进程(logstash,fluentd),对这个目录树下的日志做统一收集,然后发送到远程的日志服务器上去。 

docker daemon --log-driver可以修改日志输出,比如输出给syslog 这样的日志收集工具。syslog可以通过TCP协议将日志发给logstash,再结合elasticsearch+kibana,就是一套日志收集系统了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31547898/viewspace-2214431/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-07-30

  • 博文量
    73
  • 访问量
    77532