背景

使用kubesphere搭建了一个三节点的集群,多次对服务组件进行安装卸载,后面发现有台node内存占用特别高。

处理过程

在linux上top看内存主要被rsyslogd进程占用,最高占用72%。

查看rsyslog相关的日志,如/var/log/kern.log。提示有个tcp连接异常,端口是9200,联想到是服务组件中的logging,里面有elasticsearch,推测是pod异常了。

Mar  1 10:28:12 node2 kernel: [1551913.020125] net_ratelimit: 3 callbacks suppressed
Mar  1 10:28:12 node2 kernel: [1551913.020128] IPVS: rr: TCP 10.233.48.51:9200 - no destination available
Mar  1 10:28:12 node2 kernel: [1551913.020795] IPVS: rr: TCP 10.233.48.51:9200 - no destination available
Mar  1 10:28:12 node2 kernel: [1551913.021425] IPVS: rr: TCP 10.233.48.51:9200 - no destination available
Mar  1 10:28:13 node2 kernel: [1551914.015619] IPVS: rr: TCP 10.233.48.51:9200 - no destination available
Mar  1 10:28:14 node2 kernel: [1551914.204103] IPVS: rr: TCP 10.233.48.51:9200 - no destination available
Mar  1 10:28:14 node2 kernel: [1551915.036109] IPVS: rr: TCP 10.233.48.51:9200 - no destination available
Mar  1 10:28:14 node2 kernel: [1551915.036583] IPVS: rr: TCP 10.233.48.51:9200 - no destination available
Mar  1 10:28:14 node2 kernel: [1551915.037133] IPVS: rr: TCP 10.233.48.51:9200 - no destination available
Mar  1 10:28:16 node2 kernel: [1551917.044257] IPVS: rr: TCP 10.233.48.51:9200 - no destination available
Mar  1 10:28:16 node2 kernel: [1551917.066199] IPVS: rr: TCP 10.233.48.51:9200 - no destination available

logging组件已经被我移除了,但是查看kubesphere-logging-system下还有许多pod,于是进入项目管理页面,手动将项目kubesphere-logging-system删除。

image.png

发现项目一直在删除中,推测是pvc的关系,查看/var/log/syslog,提示volume异常。

Mar  1 11:05:00 node2 kubelet[10994]: E0301 11:05:00.355639   10994 kubelet_volumes.go:154] orphaned pod "e27b6657-8de2-476f-ba9b-5e7347ebc170" found, but volume subpaths are still present on disk : There were a total of 2 errors similar to this. Turn up verbosity to see them.

进入/var/lib/kubelet/pods目录,cat e27b6657-8de2-476f-ba9b-5e7347ebc170/etc-hosts,查看hosts。

# Kubernetes-managed hosts file.
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
fe00::0 ip6-mcastprefix
fe00::1 ip6-allnodes
fe00::2 ip6-allrouters
10.233.96.245   elasticsearch-logging-discovery-0.elasticsearch-logging-master.kubesphere-logging-system.svc.cluster.local      elasticsearch-logging-discovery-0

查看所有pod的ip,kubectl get pods -A -o wide | grep 10.233.96.245,发现不存在10.233.96.245这个IP的pod,确认目录是之前的pod遗留下来的,于是删除掉。

再次查看内存,发现内存使用率还是没有降下来。于是将rsyslog重启,内存降下来了。

总结

1.kubesphere对服务组件的管理还不是很完善,会出现删除不掉服务组件的情况,后续建议可以采用开关的形式来管理服务组件。

2.内存占用高,定位到内存后,就不知道怎么去定位具体的原因,还需要进一步学习。


这杯可乐有点甜
64 声望3 粉丝

研发工程师


引用和评论

0 条评论