非均匀内存访问亲和策略设置方法、装置、设备及介质与流程

未命名 07-12 阅读:84 评论:0


1.本发明涉及计算机技术领域,特别涉及一种非均匀内存访问亲和策略设置方法、装置、设备及介质。


背景技术:

2.kubernetes(k8s)是google开源的容器集群管理系统,用于管理容器化的工作负载和服务,方便进行声明式配置和自动化。在docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。kubernetes拥有一个庞大且快速增长的生态系统,其服务、支持和工具的使用范围广泛,具有完备的集群管理能力,多扩展多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和发现机制、内建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度的资源配额管理能力。同时kubernetes提供完善的管理工具,涵盖了包括开发、部署测试、运维监控在内的各个环节。
3.numa(non-uniform memory access,非均匀内存访问)是一种在多cpu(central processing unit,中央处理器)系统上可用的技术,允许不同的cpu以不同的速度访问内存的不同部分。任何直接连接到cpu的内存都被认为是该cpu的本地内存,并且可以非常快速地访问。任何未直接连接到cpu的内存都被认为是非本地的。在现代系统上,本地与非本地内存的概念也可以扩展到外围设备,例如nic(network interface controlle,网络接口控制器)或gpu(graphics processing unit,图形处理器)。为了获得高性能,应该分配cpu和设备,以便它们可以访问相同的本地内存。
4.现有的设置numa亲和策略的方法需要用户直接手动地通过集群对kubelet配置文件进行修改操作:1、开启cpu亲和,通过设置cpumanagerpolicy参数为static,将其开启;none即为关闭;2、开启内存亲和,通过设置memorymanagerpolicy参数为static(首字母大写),将其开启;none(首字母大写)即为关闭。如果开启内存拓扑感知,还要设置参数reservedmemory,该值的公式为:reserved-memory=(kube-reserved)+(system-reserve)+(eviction-hard),reservedmemory值可以设置到一个numa节点上,也可以设置到多个numa节点上;3、根据业务需要,通过topologymanagerpolicy参数设置亲和策略,可以设置的策略有best-effort、restricted、single-numa-node;3、配置好已上参数以后,删除cpu_manager_state、memory_manager_state(文件夹路径为:/var/lib/kubelet),然后重启对应节点上的kubelet服务。
5.随着cmp(cloud management platforms,云管理平台)中管理的k8s工作集群数量的增加,管理节点的numa亲和策略的复杂度也会随之增加,但是用户本身所在的网络环境难以保证能与多个位置的k8s集群直接连通,因此难以实现用户通过每个集群去为设置节点的numa亲和策略;并且,对于普通用户来说,上述设置numa亲和策略的方法,操作非常繁琐与复杂,且容易出错,稍有不慎就会导致kubelet服务停止,进而导致节点不可用。
6.综上所述,如何便捷快速准确地设置集群节点地非均匀内存访问亲和策略是当前亟待解决的问题。


技术实现要素:

7.有鉴于此,本发明的目的在于提供非均匀内存访问亲和策略设置方法、装置、设备及介质,能够便捷快速准确地设置集群节点地非均匀内存访问亲和策略,其具体方案如下:
8.第一方面,本技术公开了一种非均匀内存访问亲和策略设置方法,应用于可管控多集群的云管理平台,包括:
9.获取客户端选择的目标节点和目标非均匀内存访问亲和策略,并根据所述目标非均匀内存访问亲和策略和本地的策略脚本模板生成shell脚本;
10.通过所述目标节点所在的目标集群在所述目标节点中创建目标job,并将所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本;
11.通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略。
12.可选的,所述通过所述目标节点所在的目标集群在所述目标节点中创建目标job,并将所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本,包括:
13.通过所述目标节点所在的目标集群在所述目标节点中创建configmap,并将所述shell脚本挂载至所述configmap;
14.通过所述目标集群在所述目标节点中创建目标job,并将所述configmap中的所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本。
15.可选的,所述通过所述目标集群在所述目标节点中创建目标job,并将所述configmap中的所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本,包括:
16.通过所述目标集群在所述目标节点中创建目标job,并将所述目标节点的相关目录和所述configmap中的所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本;挂载所述相关目录可为所述目标pod提供对所述相关目录的操作权限。
17.可选的,所述通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略,包括:
18.通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本修改所述目标节点中的kubelet配置文件,并重启kubelet服务以为所述目标节点设置所述目标非均匀内存访问亲和策略。
19.可选的,所述通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略,包括:
20.通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略,并为所述目标节点设置表示设置有所述目标非均匀内存访问亲和策略的目标标签。
21.可选的,所述非均匀内存访问亲和策略设置方法,还包括:
22.获取客户端发送的策略读取命令;
23.基于所述策略读取命令读取所述目标标签,并根据所述目标标签确定为所述目标节点设置的所述目标非均匀内存访问亲和策略;
24.返回所述目标非均匀内存访问亲和策略至所述客户端。
25.可选的,所述通过所述目标集群启动所述目标job以启动所述目标pod之后,还包括:
26.启动目标线程监控所述目标job,以便通过所述目标线程记录所述目标job的操作日志。
27.第二方面,本技术公开了一种非均匀内存访问亲和策略设置装置,应用于可管控多集群的云管理平台,包括:
28.脚本生成模块,用于获取客户端选择的目标节点和目标非均匀内存访问亲和策略,并根据所述目标非均匀内存访问亲和策略和本地的策略脚本模板生成shell脚本;
29.挂载模块,用于通过所述目标节点所在的目标集群在所述目标节点中创建目标job,并将所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本;
30.策略设置模块,用于通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略。
31.第三方面,本技术公开了一种电子设备,包括:
32.存储器,用于保存计算机程序;
33.处理器,用于执行所述计算机程序,以实现前述公开的非均匀内存访问亲和策略设置方法。
34.第四方面,本技术公开了一种计算机可读存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的非均匀内存访问亲和策略设置方法。
35.可见,本技术获取客户端选择的目标节点和目标非均匀内存访问亲和策略,并根据所述目标非均匀内存访问亲和策略和本地的策略脚本模板生成shell脚本;通过所述目标节点所在的目标集群在所述目标节点中创建目标job,并将所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本;通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略。由此可见,本技术云管理平台能够通过网络换进关于客户端相连,又与多个位置的k8s集群直接连通,因此能够实现客户端基于云管理平台通过每个集群去为设置节点的numa亲和策略;另外,本技术通过云管理平台生成目标非均匀内存访问亲和策略对应的shell脚本,之后云管理平台基于shell脚本设置目标非均匀内存访问亲和策略,而不需要手动更改kubelet配置文件,因此复杂度降低,速度更快,防止了手动操作造成的错误提高了正确率,能够便捷快速准确地设置集群节点地非均匀内存访问亲和策略。
附图说明
36.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
37.图1为本技术公开的一种非均匀内存访问亲和策略设置方法流程图;
38.图2为本技术公开的一种具体的非均匀内存访问亲和策略设置方法流程图;
39.图3为本技术公开的一种非均匀内存访问亲和策略设置的流程示意图;
40.图4为本技术公开的一种非均匀内存访问亲和策略设置的详细流程示意图;
41.图5为本技术公开的一种非均匀内存访问亲和策略设置装置结构示意图;
42.图6为本技术公开的一种电子设备结构图。
具体实施方式
43.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.随着云管理平台中管理的k8s工作集群数量的增加,管理节点的numa亲和策略的复杂度也会随之增加,但是用户本身所在的网络环境难以保证能与多个位置的k8s集群直接连通,因此难以实现用户通过每个集群去为设置节点的numa亲和策略;并且,对于普通用户来说,上述设置numa亲和策略的方法,操作非常繁琐与复杂,且容易出错,稍有不慎就会导致kubelet服务停止,进而导致节点不可用。
45.为此,本技术实施例提出一种非均匀内存访问亲和策略设置方案,能够便捷快速准确地设置集群节点地非均匀内存访问亲和策略。
46.本技术实施例公开了一种非均匀内存访问亲和策略设置方法,应用于可管控多集群的云管理平台,参见图1所示,该方法包括:
47.步骤s11:获取客户端选择的目标节点和目标非均匀内存访问亲和策略,并根据所述目标非均匀内存访问亲和策略和本地的策略脚本模板生成shell脚本。
48.本技术实施例中,客户端(用户)会登录云管理平台,选择好目标节点,并根据实际需求选择目标非均匀内存访问亲和策略;选择目标非均匀内存访问亲和策略具体包括选择是否开启cpu亲和、选择是否开启内存亲和、从所有亲和策略中选择当前需要的亲和策略等。
49.本技术实施例中,会预先在云管理平台中设计并存储策略脚本模板,将选择的目标非均匀内存访问亲和策略添加至所述策略脚本模板得到shell脚本。
50.步骤s12:通过所述目标节点所在的目标集群在所述目标节点中创建目标job,并将所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本。
51.本技术实施例中,所述目标job(任务)为所述目标节点配置所述目标非均匀内存访问亲和策略。需要指出的是,配置过程需要目标pod完成,因此需要将所述shell脚本挂载至目标pod中作为所述目标pod的启动脚本。需要指出的是,job为k8s提供的一种任务类型,
负责批量处理短暂的一次性任务,即仅执行一次的任务。
52.本技术实施例中,所述通过所述目标节点所在的目标集群在所述目标节点中创建目标job,并将所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本,包括:通过所述目标节点所在的目标集群在所述目标节点中创建configmap,并将所述shell脚本挂载至所述configmap;通过所述目标集群在所述目标节点中创建目标job,并将所述configmap中的所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本。具体的,可以发送configmap创建命令和第一挂载命令至所述目标节点所在的目标集群,通过目标集群在所述目标节点中创建configmap,并将所述shell脚本挂载至所述configmap;发送job创建命令和第二挂载命令至所述目标集群,通过所述目标集群创建目标job,并将所述configmap中的所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本。
53.需要指出的是,在kubernetes集群中,pod是所有业务类型的基础,也是k8s管理的最小单位级,它是一个或多个容器的组合。configmap是k8s的资源对象,使用key-value形式的键值对来配置数据,这些数据可以在pod里面使用。
54.本技术实施例中,所述通过所述目标集群在所述目标节点中创建目标job,并将所述configmap中的所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本,包括:通过所述目标集群在所述目标节点中创建目标job,并将所述目标节点的相关目录和所述configmap中的所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本;挂载所述相关目录可为所述目标pod提供对所述相关目录的操作权限。
55.需要指出的是,将所述相关目录挂载至所述目标pod之后,所述目标pod可以基于所述相关目录操作命令、操作文件等权限,可以从目录中提取内容并利用。
56.需要指出的是,所述通过所述目标节点所在的目标集群在所述目标节点中创建目标job,并将所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本之后,还可以向所述客户端返回创建及挂载完成通知。
57.步骤s13:通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略。
58.本技术实施例中,所述通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略,包括:通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本修改所述目标节点中的kubelet配置文件,并重启kubelet服务以为所述目标节点设置所述目标非均匀内存访问亲和策略。需要指出的是,所述kubelet配置文件为从所述相关目录中获取。
59.本技术实施例中,发送job启动命令至所述目标集群,通过所述目标集群启动所述目标job以启动所述目标pod。
60.需要指出的是,本技术所述目标pod首先判断所述相关目录内kubelet-config.yaml配置文件(kubelet配置文件)是否存在,若不存在,则直接退出,若存在,则将kubelet-config.yaml配置文件进行备份,然后基于启动脚本修改所述相关目录中的
kubelet配置文件,并重启kubelet服务,若重启成功则完成为所述目标节点设置所述目标非均匀内存访问亲和策略,若配置失败则利用备份的文件恢复所述kubelet-config.yaml配置文件,以恢复kubelet服务。
61.本技术实施例中,所述通过所述目标集群启动所述目标job以启动所述目标pod之后,还包括:启动目标线程监控所述目标job,以便通过所述目标线程记录所述目标job的操作日志。需要指出的是,具体可以通过所述目标线程记录所述目标job成功或者失败状态的操作日志,例如,若目标job运行时间超过预设时间,则判定此任务失败,记录失败状态的操作日志;所述预设时间包括但不限于5分钟。
62.可见,本技术获取客户端选择的目标节点和目标非均匀内存访问亲和策略,并根据所述目标非均匀内存访问亲和策略和本地的策略脚本模板生成shell脚本;通过所述目标节点所在的目标集群在所述目标节点中创建目标job,并将所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本;通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略。由此可见,本技术云管理平台能够通过网络换进关于客户端相连,又与多个位置的k8s集群直接连通,因此能够实现客户端基于云管理平台通过每个集群去为设置节点的numa亲和策略;另外,本技术通过云管理平台生成目标非均匀内存访问亲和策略对应的shell脚本,之后云管理平台基于shell脚本设置目标非均匀内存访问亲和策略,而不需要手动更改kubelet配置文件,因此复杂度降低,速度更快,防止了手动操作造成的错误提高了正确率,能够便捷快速准确地设置集群节点地非均匀内存访问亲和策略。
63.本技术实施例公开了一种具体的非均匀内存访问亲和策略设置方法,应用于可管控多集群的云管理平台相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体包括:
64.步骤s21:获取客户端选择的目标节点和目标非均匀内存访问亲和策略,并根据所述目标非均匀内存访问亲和策略和本地的策略脚本模板生成shell脚本。
65.其中,关于步骤s21的更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
66.步骤s22:通过所述目标节点所在的目标集群在所述目标节点中创建目标job,并将所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本。
67.其中,关于步骤s22的更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
68.步骤s23:通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略,并为所述目标节点设置表示设置有所述目标非均匀内存访问亲和策略的目标标签。
69.本技术实施例中,所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略成功后,可以为所述目标节点设置表示设置有所述目标非均匀内存访问亲和策略的目标标签,以便客户端查看目标标签,确定所述目标节点设置的目标非均匀内存访问亲和策略。
70.步骤s24:获取客户端发送的策略读取命令;基于所述策略读取命令读取所述目标标签,并根据所述目标标签确定为所述目标节点设置的所述目标非均匀内存访问亲和策略;返回所述目标非均匀内存访问亲和策略至所述客户端。
71.本技术实施例中,当云管理平台获取到客户端发送的策略读取命令后,才会读取目标标签,并分析所述目标标签确定所述目标节点设置的目标非均匀内存访问亲和策略。
72.可见,本技术获取客户端选择的目标节点和目标非均匀内存访问亲和策略,并根据所述目标非均匀内存访问亲和策略和本地的策略脚本模板生成shell脚本;通过所述目标节点所在的目标集群在所述目标节点中创建目标job,并将所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本;通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略,并为所述目标节点设置表示设置有所述目标非均匀内存访问亲和策略的目标标签;获取客户端发送的策略读取命令;基于所述策略读取命令读取所述目标标签,并根据所述目标标签确定为所述目标节点设置的所述目标非均匀内存访问亲和策略;返回所述目标非均匀内存访问亲和策略至所述客户端。由此可见,本技术云管理平台能够通过网络换进关于客户端相连,又与多个位置的k8s集群直接连通,因此能够实现客户端基于云管理平台通过每个集群去为设置节点的numa亲和策略;另外,本技术通过云管理平台生成目标非均匀内存访问亲和策略对应的shell脚本,之后云管理平台基于shell脚本设置目标非均匀内存访问亲和策略,而不需要手动更改kubelet配置文件,因此复杂度降低,速度更快,防止了手动操作造成的错误提高了正确率,能够便捷快速准确地设置集群节点地非均匀内存访问亲和策略;另外,本技术为目标节点设置了目标标签,云管理平台可以通过目标标签确定所述目标节点设置的目标非均匀内存访问亲和策略。
73.参见图3所示,为一种非均匀内存访问亲和策略设置的流程示意图,首先云管平台(cmp)生成shell脚本挂载至通过目标节点(node1)所在的目标集群(被纳管的k8s集群)创建的configmap中,云管平台通过目标集群创建目标job,将configmap中的shell脚本和所述目标节点的相关目录挂载至所述目标节点选取的目标pod中,所述相关目录包括“/etc/kubernetes”、“/var/run”、“var/lib/kubelet”、“/etc/ystemd”等。
74.参见图4所示,为一种非均匀内存访问亲和策略设置的详细流程示意图,客户端(用户)将选择的目标节点和目标非均匀内存访问亲和策略以http请求形式发送至云管理平台,云管理平台基于目标非均匀内存访问亲和策略生成shell脚本,然后发送configmap创建命令和第一挂载命令至所述目标节点所在的目标集群,通过目标集群在所述目标节点中创建configmap,并将所述shell脚本挂载至所述configmap;云管理平台发送job创建命令和第二挂载命令至所述目标集群,通过所述目标集群创建目标job,并将所述configmap中的所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本,然后云管理平台发送job启动命令至目标集群启动目标job以启动目标pod,执行shell脚本完成修改配置文件,重启服务操作以为目标节点配置目标非均匀内存访问亲和策略,然后为目标节点添加表示所述目标节点设置有目标非均匀内存访问亲和策略的目标标签;另外,在发送job启动命令之后,还需要再云管理平台为所述目标job创建一个目标线程,用于监管目标job的运行状态(可以为周期性监管,也可一直监管)。之后在云管理平台获取客户端你发送的册率u读取命令时,云管理平台读取目标节点的目标标签,并分析所述目标标签确
定所述目标节点设置的目标非均匀内存访问亲和策略,然后将策略反馈至客户端。
75.综上,本技术基于被纳管k8s集群的job任务,在其上挂载运行云平台所生成的脚本文件,并在云平台开启异步线程监控此job的运行状态,提出了一种自动化对云管平台所纳管kubernetes的节点设置numa亲和策略的方法,可以自动化地通过shell脚本更改kubelet的启动参数(更改配置文件),并自动化地监控用户设置节点numa亲和策略的行为(监管目标job)。降低了用户设置节点numa亲和策略的门槛,解决了云管平台无法监管用户手动设置numa亲和策略的问题。另外,第一,本技术在云管平台中嵌入shell脚本模板,根据用户的操作,生成相对应的脚本内容,用来实现更改节点kubelet配置文件、重启服务、修改节点标签等功能;第二,本技术在被纳管的k8s集群部署job,该job会在目标节点启动pod,并将上述shell脚本作为其启动脚本;第三,本技术异步线程(目标线程)监控job运行状态与超时状态,根据job结果记录操作日志,达到了监控用户相关行为的目的;第四,本技术云管平台根据被纳管k8s集群节点的标签,来判断节点的numa亲和策略。
76.相应的,本技术实施例还公开了一种非均匀内存访问亲和策略设置装置,应用于可管控多集群的云管理平台参见图5所示,该装置包括:
77.脚本生成模块11,用于获取客户端选择的目标节点和目标非均匀内存访问亲和策略,并根据所述目标非均匀内存访问亲和策略和本地的策略脚本模板生成shell脚本;
78.挂载模块12,用于通过所述目标节点所在的目标集群在所述目标节点中创建目标job,并将所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本;
79.策略设置模块13,用于通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略。
80.其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
81.可见,本技术云管理平台能够通过网络换进关于客户端相连,又与多个位置的k8s集群直接连通,因此能够实现客户端基于云管理平台通过每个集群去为设置节点的numa亲和策略;另外,本技术通过云管理平台生成目标非均匀内存访问亲和策略对应的shell脚本,之后云管理平台基于shell脚本设置目标非均匀内存访问亲和策略,而不需要手动更改kubelet配置文件,因此复杂度降低,速度更快,防止了手动操作造成的错误提高了正确率,能够便捷快速准确地设置集群节点地非均匀内存访问亲和策略。
82.进一步的,本技术实施例还提供了一种电子设备。图6是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本技术的使用范围的任何限制。
83.图6为本技术实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、显示屏23、输入输出接口24、通信接口25、电源26和通信总线27。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的非均匀内存访问亲和策略设置方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
84.本实施例中,电源26用于为电子设备20上的各硬件设备提供工作电压;通信接口25能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适
用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口24,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
85.另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括计算机程序221,存储方式可以是短暂存储或者永久存储。其中,计算机程序221除了包括能够用于完成前述任一实施例公开的由电子设备20执行的非均匀内存访问亲和策略设置方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
86.进一步的,本技术实施例还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的非均匀内存访问亲和策略设置方法。
87.关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
88.本技术书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
89.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
90.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
91.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
92.以上对本技术所提供的一种非均匀内存访问亲和策略设置方法、装置、设备、存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。

技术特征:
1.一种非均匀内存访问亲和策略设置方法,其特征在于,应用于可管控多集群的云管理平台,包括:获取客户端选择的目标节点和目标非均匀内存访问亲和策略,并根据所述目标非均匀内存访问亲和策略和本地的策略脚本模板生成shell脚本;通过所述目标节点所在的目标集群在所述目标节点中创建目标job,并将所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本;通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略。2.根据权利要求1所述的非均匀内存访问亲和策略设置方法,其特征在于,所述通过所述目标节点所在的目标集群在所述目标节点中创建目标job,并将所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本,包括:通过所述目标节点所在的目标集群在所述目标节点中创建configmap,并将所述shell脚本挂载至所述configmap;通过所述目标集群在所述目标节点中创建目标job,并将所述configmap中的所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本。3.根据权利要求2所述的非均匀内存访问亲和策略设置方法,其特征在于,所述通过所述目标集群在所述目标节点中创建目标job,并将所述configmap中的所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本,包括:通过所述目标集群在所述目标节点中创建目标job,并将所述目标节点的相关目录和所述configmap中的所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本;挂载所述相关目录可为所述目标pod提供对所述相关目录的操作权限。4.根据权利要求1所述的非均匀内存访问亲和策略设置方法,其特征在于,所述通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略,包括:通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本修改所述目标节点中的kubelet配置文件,并重启kubelet服务以为所述目标节点设置所述目标非均匀内存访问亲和策略。5.根据权利要求1所述的非均匀内存访问亲和策略设置方法,其特征在于,所述通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略,包括:通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略,并为所述目标节点设置表示设置有所述目标非均匀内存访问亲和策略的目标标签。6.根据权利要求5所述的非均匀内存访问亲和策略设置方法,其特征在于,还包括:获取客户端发送的策略读取命令;基于所述策略读取命令读取所述目标标签,并根据所述目标标签确定为所述目标节点设置的所述目标非均匀内存访问亲和策略;返回所述目标非均匀内存访问亲和策略至所述客户端。7.根据权利要求1至6任一项所述的非均匀内存访问亲和策略设置方法,其特征在于,
所述通过所述目标集群启动所述目标job以启动所述目标pod之后,还包括:启动目标线程监控所述目标job,以便通过所述目标线程记录所述目标job的操作日志。8.一种非均匀内存访问亲和策略设置装置,其特征在于,应用于可管控多集群的云管理平台,包括:脚本生成模块,用于获取客户端选择的目标节点和目标非均匀内存访问亲和策略,并根据所述目标非均匀内存访问亲和策略和本地的策略脚本模板生成shell脚本;挂载模块,用于通过所述目标节点所在的目标集群在所述目标节点中创建目标job,并将所述shell脚本挂载至所述目标job选取的目标pod中作为所述目标pod的启动脚本;策略设置模块,用于通过所述目标集群启动所述目标job以启动所述目标pod,以便所述目标集群通过所述目标pod基于所述启动脚本为所述目标节点设置所述目标非均匀内存访问亲和策略。9.一种电子设备,其特征在于,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的非均匀内存访问亲和策略设置方法。10.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的非均匀内存访问亲和策略设置方法。

技术总结
本申请公开了一种非均匀内存访问亲和策略设置方法、装置、设备及介质,应用于可管控多集群的云管理平台,涉及计算机技术领域,包括:获取客户端选择的目标节点和目标非均匀内存访问亲和策略,并根据目标非均匀内存访问亲和策略和本地的策略脚本模板生成shell脚本;通过目标节点所在的目标集群在目标节点中创建目标job,并将shell脚本挂载至目标job选取的目标pod中作为目标pod的启动脚本;通过目标集群启动目标job以启动目标pod,以便目标集群通过目标pod基于启动脚本为目标节点设置目标非均匀内存访问亲和策略。由此可见,本申请能够便捷快速准确地设置集群节点地非均匀内存访问亲和策略。问亲和策略。问亲和策略。


技术研发人员:李少凯
受保护的技术使用者:济南浪潮数据技术有限公司
技术研发日:2023.03.30
技术公布日:2023/7/7
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐