TOS2.0集群超配(POC和测试环境使用)

  其他常见问题
内容纲要

概要描述

在测试环境中, 或者特定的用户环境中, 由于存在用户对应用的CPU, Memory估算偏大, 造成实际 TOS 集群资源只能创建较少数量的应用,同时 TOS 集群的实际资源使用率较低,通过为 TOS 集群设置 overcommit ratio, 使得集群内所有机器的可用资源超配, 来提高 TOS 集群资源使用率, 支持更多应用的创建

注意: 超配只适用于测试集群,生产集群严禁开启

详细描述配置过程

Ratio 配置

TOS 集群安装完成后,会自动在 kube-system 租户下生成名为 ratio 的 configmap。所以可以通过

kubectl get cm ratio -n kube-system -oyaml

查看默认配置

apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    transwarp.overcommit: "true"
  name: ratio
  namespace: kube-system
data:
  cpu: "2"
  memory: "4"
  tosdisk: "1"
  tosdisk-pv: "1"

如上所示, 其中 data 域中 cpu=2, memory=4 等表示所有节点上 cpu 超配 2 倍,memory 超配 4 倍。

若是想要配置超配,使用 kubectl edit cm ratio -n kube-system 编辑 ratio 的 data 域对应参数项的值,如下所示,除了 cpu,memory,还有 tosdisk,tosdisk-pv,这 2 个参数项是 warpdrive 相关的,其中 tosdisk 表示临时存储超配,tosdisk-pv 表示 pvc 超配。

apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    transwarp.overcommit: "true"
  name: ratio
  namespace: kube-system
data:
  cpu: "15"
  memory: "15"
  tosdisk: "15"
  tosdisk-pv: "15"

Kubelet 配置

在需要开启超配的节点上更改 kubelet 的启动参数
在 kubelet 的配置文件 /etc/sysconfig/kubelet 中添加 –feature-gates=SupportOverCommit=true,然后重启 kubelet
file

systemctl daemon-reload
systemctl restart kubelet

注意:

kubelet 下添加的 –feature-gates 参数仅用来控制 cpu、memory 的超卖,tosdisk 相关的参数由 warpdrive 独立控制,需要修改 warpdrive 的启动参数使之生效,未做融合。

Warpdrive 配置

在 warpdrive 的配置文件 /usr/lib/systemd/system/warpdrive.service 中添加–allow-overcommit=true,然后重启 warpdrive
file

systemctl daemon-reload
systemctl restart warpdrive

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。