热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Kubernetesnode为何总是自动重启?

了解Kubernetes的人都知道,我们要想在Kubernetes中创建一个Deployment部署,就会在Node上创建一个Pod,Pod是Kubernetes中对于一组容器以及与容

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

Kubernetes 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,就是一套日志收集系统了。


推荐阅读
author-avatar
红糖里有砂
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有