Openshift node节点系统资源预留
2018-05-09 本文已影响21人
Herman7z
实际应用中发现,如果不做处理,当集群内应用数量不断增加时,会占满node节点的系统资源,导致某node节点挂掉,同时也会造成openshift集群的卡死。
解决思路为设置node节点系统资源预留值。
参考官方文档:https://docs.openshift.org/latest/admin_guide/manage_nodes.html#configuring-node-resources
https://docs.openshift.org/3.9/admin_guide/out_of_resource_handling.html
openshift的容器编排层采用的是K8S,故这里同时参考了K8S的做法。
参考k8s博客:《Kubernetes 针对资源紧缺处理方式的配置》、《kubernetes节点资源限制》
设置node节点系统资源预留值
如果尚未安装集群
修改ansible的hosts文件,在变量openshift_node_kubelet_args中设置系统预留值。
如果已安装集群
修改每个节点的/etc/origin/node/node-config.yaml文件。
修改文件中的kubeletArguments。
我的修改示意如下(这里我只设置了cpu和内存的预留,预留值根据自己实际情况调整):
#设置预留系统服务的资源
eviction-hard:
- "memory.available<1Gi"
system-reserved:
- "cpu=200m"
- "memory=3G"
#设置预留给k8s组件的资源(主要组件)
kube-reserved:
- cpu=200m
- memory=1G
重启origin-node
systemctl restart origin-node