Openshift node节点系统资源预留

实际应用中发现,如果不做处理,当集群内应用数量不断增加时,会占满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

你可能感兴趣的:(Openshift node节点系统资源预留)