创建MPAM资源组
当需要对Pod进行资源限制时,需要创建MPAM资源组。
- 进入“samples”目录,修改MPAM资源组的配置文件(.yaml格式),以example-config.yaml为例。
example-config.yaml文件中,Node资源组包括如表1所示3种不同级别的配置,用户可以通过ConfigMap为Node节点或一组节点创建配置。创建配置后,MPAM插件将管理Kubernetes集群中的ConfigMap,并在添加或更新ConfigMap后将配置自动应用到相应的节点。
表1 配置类型及其说明 配置类型
配置名称
配置说明
node配置
rc-config.node.{NODE_NAME}
该配置提供了名为Node_NAME的节点的配置。
node group配置
rc-config.group.{GROUP_NAME}
可以通过“ngroup”标签将Node节点加到对应的组中。例如,如果某个Node节点含有“ngroup=grp1”的标签,那么该节点就属于Node组grp1。如果Node节点特定的ConfigMap rc-config.node.{NODE_NAME}不存在,但节点属于名为{GROUP_NAME}的节点组,则将应用名称为“rc-config.group.{GROUP_NAME}”的ConfigMap。
默认配置
rc-config.default
如果节点不属于任何节点组,并且节点特定的ConfigMap不存在,则将应用名称为“rc-config.default”的ConfigMap。
- 打开文件。
cd samples vi example-config.yaml
- 按“i”进入编辑模式,在文件中修改name字段指定为表1中的实际配置名称,将mpam字段下添加对应的资源组信息:
apiVersion: v1 kind: ConfigMap metadata: name: ${CONFIG_NAME} namespace: rc-config data: rc.conf: | mpam: group1: llc: <schemata> mb: <schemata> group2: llc: <schemata> mb: <schemata> group3: llc: <schemata> mb: <schemata>
- 将llc中的schemata替换为对L3 Cache的限制,将mb中的schemata替换为对带宽的限制,请根据实际情况进行修改。example-config.yaml文件的完整配置样例请参见参考。
- 最多可以设置32个资源组(根分组默认占一个资源组,根分组下最多实际只能创建出31个资源组),每条<schemata>必须要满足语法规则。
- 如果某个资源组中没有对某一项进行配置或者已配置的配置项不满足语法规则,该资源组将使用该配置项的默认配置。L3 cache的默认配置为"L3:0=fffffff;1=fffffff;2=fffffff;3=fffffff";带宽的默认配置为"MB:0=100;1=100;2=100;3=100";如果挂载的时候选择了mbHdl参数,Hard Limit的默认配置为"MBHDL:0=1;1=1;2=1;3=1"。
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开文件。
- 在samples目录下,应用example-config.yaml文件以创建ConfigMap。
kubectl apply -f example-config.yaml
- 在Node节点上,进入“/sys/fs/resctrl”目录,查看资源组是否已创建,以及对应的资源组配置是否和example-config.yaml中的一致。
cd /sys/fs/resctrl ls
例如,可以通过以下命令查看资源组group1的配置。
cat group1/schemata
父主题: 虚拟化MPAM插件 用户指南