openshift/origin工作记录(5)——node节点系统资源预留

实际应用中发现,如果不做处理,当集群内应用数量不断增加时,会占满node节点的系统资源,导致某node节点挂掉,同时也会造成openshift集群的卡死。

解决思路为设置node节点系统资源预留值。

参考官方文档:https://docs.openshift.org/latest/admin_guide/manage_nodes.html#configuring-node-resources

openshift的容器编排层采用的是K8S,故这里同时参考了K8S的做法。

参考k8s博客:《Kubernetes 针对资源紧缺处理方式的配置》《kubernetes节点资源限制》

设置node节点系统资源预留值

如果尚未安装集群

修改ansible的hosts文件,在变量openshift_node_kubelet_args中设置系统预留值。

如果已安装集群

修改每个节点的/etc/origin/node/node-config.yaml文件。

修改文件中的kubeletArguments。

我的修改示意如下(这里我只设置了cpu和内存的预留,预留值根据自己实际情况调整):

#设置预留系统服务的资源 
system-reserved:
- cpu=200m
- memory=3G
#设置预留给k8s组件的资源(主要组件)
kube-reserved:
- cpu=200m
- memory=1G

重启origin-node

# systemctl restart origin-node

验证

实验的pod需要设置limit range。

尽可能的增加deployment的replicas。

这里我把某个deployment的replicas设置成了20。

这里写图片描述

可以看见有部分pod创建失败。

查看创建失败的pod日志

这里写图片描述

可以看出,创建失败的原因是没有节点满足该pod的内存需求。

查看node节点的内存使用量

这里写图片描述
这里写图片描述

可以看出,node节点的内存还有2G多可用。

这样就可以避免node节点系统资源被使用完,导致节点挂掉。

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据架构之路

时间同步-ntp服务器的搭建(docker版本)

用于构建cdm所需要的ntp服务器镜像,实现宿主机和ntpserver同步,ntpserver于ntpclient的同步

2285
来自专栏Java后端生活

Linux(十四)网络配置

1605
来自专栏Python

centos7 ping: www.baidu.com: Name or service not known

5693
来自专栏张伟博客

CentOS7使用firewalld打开关闭防火墙与端口

2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

602
来自专栏python3

python自动化脚本nginx_status

运维自动化,已经成为运维必不可少的一部分,下面附上自己写的监控nginx_status脚本,大神轻喷

531
来自专栏Janti

每天学一点Docker(5)——了解Docker架构

Docker的核心组件: 1.Docker客户端 - Client 2.Docker服务器 - Docker deamon 3.Docker镜像 - Image...

37210
来自专栏从零学习云计算

openshift/origin工作记录(6)——本地DNS服务器的创建与配置

这里选择在本地搭建一个DNS服务器。我选择将DNS服务器部署到了Master节点上。

2448
来自专栏Jed的技术阶梯

Kafka单节点与伪分布式集群搭建

所谓Kafka伪分布式,就是一个节点启动多个Kafka服务,只需要新增加server.properties配置文件,并按照新的配置文件再启动一个服务即可,当然数...

933
来自专栏后端技术探索

nginx日志request_time 和upstream_response_time区别

笔者在根据nginx的accesslog中$request_time进行程序优化时,发现有个接口,直接返回数据,平均的$request_time也比较大。原来$...

803
来自专栏跟着阿笨一起玩NET

WCF学习五(客户端和服务器时间不一致,导致通道建立失败的问题)

考虑到系统近来没有做过改动和升级操作,所以从客户的机器环境入手解决,最后发现客户端的日期时间和服务端的日期时间有较大差异,将客户端机器修改成和服务端的日期时间一...

371

扫码关注云+社区