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节点系统资源被使用完,导致节点挂掉。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值