CN117850969A - 一种自动化产出多cpu多操作系统制品的方法 - Google Patents

一种自动化产出多cpu多操作系统制品的方法 Download PDF

Info

Publication number
CN117850969A
CN117850969A CN202311722350.4A CN202311722350A CN117850969A CN 117850969 A CN117850969 A CN 117850969A CN 202311722350 A CN202311722350 A CN 202311722350A CN 117850969 A CN117850969 A CN 117850969A
Authority
CN
China
Prior art keywords
compiling
pod
products
product
container
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311722350.4A
Other languages
English (en)
Inventor
辜熊麟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202311722350.4A priority Critical patent/CN117850969A/zh
Publication of CN117850969A publication Critical patent/CN117850969A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种自动化产出多CPU多操作系统制品的方法,所述自动化制品的方法包括以下几个步骤:第一步,将不同CPU架构的机器接入K8S集群;第二步,进行请求的发送;第三步,进行解析并调度;第四步,拉取镜像并启动容器;第五步,进行信息传递,发送编译命令;第六步,进行制作;第七步,对制品的储存;第八步,进行镜像的清理。本发明通过将不同CPU架构的机器接入K8S集群,基于K8S原生,通过对通过编译server发起POD部署请求进行解析并进行调度,结合K8S的调度能力,来设计了编译节点的自动化调度,让编译需求自动化调度到相应的节点上,从而避免了在制作时需要手动地进行配置,从而减小了操作的工作量。

Description

一种自动化产出多CPU多操作系统制品的方法
技术领域
本发明涉及计算机技术领域,特别涉及一种自动化产出多CPU多操作系统制品的方法。
背景技术
在计算机领域,为了实现多CPU多操作系统的制品构建,通常采用以下技术方案:首先,使用虚拟机软件创建多个虚拟机实例,每个虚拟机实例都运行一个操作系统镜像;然后,通过配置不同的硬件资源和分配不同的CPU核心数量,以满足不同操作系统的需求;接下来,使用自动化脚本或工具来配置虚拟机的网络、存储和其他相关设置,以确保各个虚拟机之间的通信和数据共享正常进行;最后在不同的虚拟机上制作出不同CPU和操作系统的制品出来,导致在制作时需要手动配置和管理多个虚拟机实例,这增加了操作的工作量。
发明内容
本发明的目的在于提供一种自动化产出多CPU多操作系统制品的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种自动化产出多CPU多操作系统制品方法,所述自动化制品的方法包括以下几个步骤:
第一步,将不同CPU架构的机器接入K8S集群,使用k8s节点的可扩展性、易维护性来做底层环境;
第二步,进行请求的发送,通过编译server向K8S集群发起POD部署请求;
第三步,进行解析并调度,通过K8S集群来解析pod.yaml,并根据nodeSelector和tolerations的定义来自动化调度到编译节点上;
第四步,拉取镜像并启动容器,是将调度到编译POU节点上的文件对其镜像进行拉取,并启动DinD容器、Agent容器和Builder容器;
第五步,进行信息传递,发送编译命令,通过gPRC和Agent通讯来将编译server和编译POD之间进行连接,从而相互传达信息;
第六步,进行制作,当编译POD接收到编译命令时,通过Builder容器来对制品进行制作;
第七步,对制品的储存,将通过第六步制作出的制品,推送至制品库进行存储;
第八步,进行镜像的清理,将处于编译POD内的临时数据进行销毁。
优选的,所述请求的发送包括地址的输入和请求的确认,所述地址的输入是在pod.yaml内自定义环境、DinD,Agent和builder容器的镜像地址,所述请求的确认是将需要发送的请求进行确认。
优选的,所述解析并调度包括请求的接收、文件的解析和自动调度。
优选的,所述请求的接收是通过接收模块来接收编译server发起POD部署请求,所述文件的解析是将文件的属性进行解析,所述自动调度是根据文件解析出的属性来自动化地将文件调度到编译POD节点上。
优选的,所述进行信息传递包括启动信息发送和编译命令的发送;
所述启动信息发送是通过gPRC和Agent通讯将编译POD内容器开启的信息向编译server进行发送;
所述编译命令的发送是通过gPRC和Agent通讯将编译server的编译命令向编译POD进行发送。
优选的,所述Agent容器是用于通过网络或其他机制与其他容器进行通信和交互,所述Builder容器用于构建和打包应用程序。
优选的,所述制作的进行包括以下几个步骤;
A1,接收制作命令,通过gPRC和Agent通讯接收编译server发出的编译命令,所述对制品的制作;
A2,对制品的制作,在接收到制作命令后,通过Builder容器来对制品进行制作。
优选的,所述制品的储存包括以下几个步骤:
B1,进行制品的推送,通过数据传输模块将编译POD中的制品传输至制品库;
B2,进行制品的接收,通过制品库的接收端将制品进行接收;
B3,进行制品的储存,通过制品库的存储模块将接收到至制品进行储存。
优选的,所述镜像的清理包括镜像的判断和镜像的毁灭,所述镜像的判断是通过对镜像是否完成制品进行判断,所述镜像的毁灭是将完成制品的镜像进行销毁。
本发明的技术效果和优点:
本发明通过将不同CPU架构的机器接入K8S集群,基于K8S原生,通过对通过编译server发起POD部署请求进行解析并进行调度,结合K8S的调度能力,来设计了编译节点的自动化调度,让编译需求自动化调度到相应的节点上,从而避免了在制作时需要手动地进行配置,从而减小了操作的工作量。
附图说明
图1为本发明自动化制品方法的操作流程示意图。
图2为本发明多CPU多操作系统制品制作流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了如图1和图2所示的一种自动化产出多CPU多操作系统制品的方法,自动化制品方法包括以下几个步骤:
第一步,将不同CPU架构的机器接入K8S集群,使用k8s节点的可扩展性、易维护性来做底层环境;
第二步,进行请求的发送,通过编译server向K8S集群发起POD部署请求;
第三步,进行解析并调度,通过K8S集群来解析pod.yaml,并根据nodeSelector和tolerations的定义来自动化调度到编译节点上;
第四步,拉取镜像并启动容器,是将调度到编译POU节点上的文件对其镜像进行拉取,并启动DinD容器、Agent容器和Builder容器;
第五步,进行信息传递,发送编译命令,通过gPRC和Agent通讯来将编译server和编译POD之间进行连接,从而相互传达信息;
第六步,进行制作,当编译POD接收到编译命令时,通过Builder容器来对制品进行制作;
第七步,对制品的储存,将通过第六步制作出的制品,推送至制品库进行存储;
第八步,进行镜像的清理,将处于编译POD内的临时数据进行销毁。
需要说明的是,通过将不同CPU架构的机器接入K8S集群,基于K8S原生,通过对通过编译server发起POD部署请求进行解析并进行调度,结合K8S的调度能力,来设计了编译节点的自动化调度,让编译需求自动化调度到相应的节点上,从而避免了在制作时需要手动的进行配置;在使用时,实现对镜像按需自动拉起,用完即毁,保障环境的干净,避免出现大量使用后的镜像处于节点上;编译Server在发起POD调度时,根据K8S集群的解析和自动调度使其调度到不同架构的节点上,当要对操作系统、编译环境有要求的编译场景,通过自定义builder image的方式来实现,容器环境的自定义、维护将会变得高效、稳定;K8S为Kubernetes,是一个开源的容器编排平台,用于自动化应用程序部署、扩展和管理,并提供了一个强大的容器编排系统,允许用户以统一的方式管理和调度容器化应用程序;在发送请求前,先制作不同的编译组镜像,编译镜像分为两层,操作系统纯净版的基础镜像,第二层为编译需要的容器镜像,通过镜像来维护、管理编译环境的多样性。
进一步的,以K8S原生来管理复杂的编译环境,在充分考虑不同CPU架构的同时,也考虑了不同操作系统、内核的编译场景,让复杂的编译环境管理,变得简单。
具体的,请求的发送包括地址的输入和请求的确认,地址的输入是在pod.yaml内自定义环境、DinD,Agent和builder容器的镜像地址,请求的确认是将需要发送的请求进行确认。
需要说明的是,pod.yaml是用于定义Kubernetes Pod的YAML文件,其中包含了Pod的元数据、容器定义、卷挂载和其他相关配置信息。
具体的,解析并调度包括请求的接收、文件的解析和自动调度。
具体的,请求的接收是通过接收模块来接收编译server发起POD部署请求,文件的解析是将文件的属性进行解析,自动调度是根据文件解析出的属性来自动化地将文件调度到编译POD节点上。
需要说明的是,文件的属性包括据nodeSelector和tolerations,nodeSelector是POD的一个属性,用于选择符合指定标签的节点,olerations是Pod的另一个属性,用于设置POD对于具有指定taint(缺陷)的节点的容忍度。
进一步的,当编译server发起POD部署请求发送至K8S集群后,通过将发送的pod.yaml进行解析,再根据nodeSelector和tolerations的定义来自动地将pod.yaml自动地调度到编译节点上,从而减轻了工作人员的工作量。
具体的,进行信息传递包括启动信息发送和编译命令的发送;
启动信息发送是通过gPRC和Agent通讯将编译POD内容器开启的信息向编译server进行发送;
编译命令的发送是通过gPRC和Agent通讯将编译server的编译命令向编译POD进行发送。
具体的,Agent容器是用于通过网络或其他机制与其他容器进行通信和交互,Builder容器用于构建和打包应用程序。
具体的,制作的进行包括以下几个步骤;
A1,接收制作命令,通过gPRC和Agent通讯接收编译server发出的编译命令,对制品的制作;
A2,对制品的制作,在接收到制作命令后,通过Builder容器来对制品进行制作。
需要说明的是,容器Agent和编译server通过gRPC协议建立连接后,可发起编译命令,同时可监听连接是否正常,收集编译过程的日志,在编译过程存在错误和异常,而日志是排查和调试问题的重要工具,通过收集编译过程的日志,开发人员可以查看详细的错误信息、警告和调试输出,从而更快地定位和解决问题;将编译过程的日志进行存储,从而实现跟踪构建的历史记录。
进一步的,在需要进行编译时,编译server向容器Agent发出编译命令,从而对制品进行制作,在对制品进行制作时,包括以下几个步骤:
a1,创建一个构建容器,是基于特定的构建镜像(从节点中抽取的镜像);
a2,将需要编译的代码复制到构建容器中;
a3,在构建容器中执行编译命令;
a4,根据编译命令的结果,在构建容器中生成编译产物;
a5,将构建产物导出。
当制品出现异常时,通过日志来检查制作过程,从而通过制作过程来判断在制作过程中出现错误的地方,避免出现工作人员在直接对制品进行检测时出现漏检和重复检测的情况,从而通过日志来减少工作人员检查的工作量,加快工作人员的检查速度。
具体的,制品的储存包括以下几个步骤:
B1,进行制品的推送,通过数据传输模块将编译POD中的制品传输至制品库;
B2,进行制品的接收,通过制品库的接收端将制品进行接收;
B3,进行制品的储存,通过制品库的存储模块将接收到至制品进行储存。
需要说明的是,设置的制品库是一种用于存储和管理软件构建过程中生成的各种构建制品的存储库,在使用通过构建过程中生成的各种制品进行统一管理,使得开发人员在协作开发的同时,共享和访问不同阶段生成的制品,通过权限控制等安全措施,从而保证制品的存储安全性。
进一步的,在使用时,将编译好的制品直接推送至制品库内,通过制品库将制品进行储存,从而实现自动化地将制品进行储存,避免了人工的参与,从而节省了人力,在需要查看制品时,直接从制品库中进行查看。
具体的,镜像的清理包括镜像的判断和镜像的毁灭,镜像的判断是通过对镜像是否完成制品进行判断,镜像的毁灭是将完成制品的镜像进行销毁。
需要说明的是,此设置让编译节点可保持环境的绝对干净,需要时拉起镜像,用完后将镜像从编译节点中进行销毁,通过判断来对镜像进行操作,从而避免在对镜像进行处理时,出现将未制品的镜像误删和已经制品的镜像仍然保留的情况产生,同时也减少了工作人员手动删除镜像的时间,自动化地完成了对节点的清理,减少工作人员的工作量。
进一步的,在使用时,先将节点中镜像进行拉起,当被拉起的镜像被制作后,将该镜像进行删除销毁,从而避免存在大量已被制成镜像储存在节点中。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种自动化产出多CPU多操作系统制品的方法,其特征在于,所述自动化制品方法包括以下几个步骤:
第一步,将不同CPU架构的机器接入K8S集群,使用k8s节点的可扩展性、易维护性来做底层环境;
第二步,进行请求的发送,通过编译server向K8S集群发起POD部署请求;
第三步,进行解析并调度,通过K8S集群来解析pod.yaml,并根据nodeSelector和tolerations的定义来自动化调度到编译节点上;
第四步,拉取镜像并启动容器,是将调度到编译POU节点上的文件对其镜像进行拉取,并启动DinD容器、Agent容器和Builder容器;
第五步,进行信息传递,发送编译命令,通过gPRC和Agent通讯来将编译server和编译POD之间进行连接,从而相互传达信息;
第六步,进行制作,当编译POD接收到编译命令时,通过Builder容器来对制品进行制作;
第七步,对制品的储存,将通过第六步制作出的制品,推送至制品库进行存储;
第八步,进行镜像的清理,将处于编译POD内的临时数据进行销毁。
2.根据权利要求1所述的一种自动化产出多CPU多操作系统制品的方法,其特征在于,所述请求的发送包括地址的输入和请求的确认,所述地址的输入是在pod.yaml内自定义环境、DinD,Agent和builder容器的镜像地址,所述请求的确认是将需要发送的请求进行确认。
3.根据权利要求1所述的一种自动化产出多CPU多操作系统制品的方法,其特征在于,所述解析并调度包括请求的接收、文件的解析和自动调度。
4.根据权利要求3所述的一种自动化产出多CPU多操作系统制品的方法,其特征在于,所述请求的接收是通过接收模块来接收编译server发起POD部署请求,所述文件的解析是将文件的属性进行解析,所述自动调度是根据文件解析出的属性来自动化地将文件调度到编译POD节点上。
5.根据权利要求1所述的一种自动化产出多CPU多操作系统制品的方法,其特征在于,所述进行信息传递包括启动信息发送和编译命令的发送;
所述启动信息发送是通过gPRC和Agent通讯将编译POD内容器开启的信息向编译server进行发送;
所述编译命令的发送是通过gPRC和Agent通讯将编译server的编译命令向编译POD进行发送。
6.根据权利要求1所述的一种自动化产出多CPU多操作系统制品的方法,其特征在于,所述Agent容器是用于通过网络或其他机制与其他容器进行通信和交互,所述Builder容器用于构建和打包应用程序。
7.根据权利要求1所述的一种自动化产出多CPU多操作系统制品的方法,其特征在于,所述制作的进行包括以下几个步骤;
A1,接收制作命令,通过gPRC和Agent通讯接收编译server发出的编译命令,所述对制品的制作;
A2,对制品的制作,在接收到制作命令后,通过Builder容器来对制品进行制作。
8.根据权利要求1所述的一种自动化产出多CPU多操作系统制品的方法,其特征在于,所述制品的储存包括以下几个步骤:
B1,进行制品的推送,通过数据传输模块将编译POD中的制品传输至制品库;
B2,进行制品的接收,通过制品库的接收端将制品进行接收;
B3,进行制品的储存,通过制品库的存储模块将接收到至制品进行储存。
根据权利要求1所述的一种自动化产出多CPU多操作系统制品的方法,其特征在于,所述镜像的清理包括镜像的判断和镜像的毁灭,所述镜像的判断是通过对镜像是否完成制品进行判断,所述镜像的毁灭是将完成制品的镜像进行销毁。
CN202311722350.4A 2023-12-14 2023-12-14 一种自动化产出多cpu多操作系统制品的方法 Pending CN117850969A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311722350.4A CN117850969A (zh) 2023-12-14 2023-12-14 一种自动化产出多cpu多操作系统制品的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311722350.4A CN117850969A (zh) 2023-12-14 2023-12-14 一种自动化产出多cpu多操作系统制品的方法

Publications (1)

Publication Number Publication Date
CN117850969A true CN117850969A (zh) 2024-04-09

Family

ID=90528198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311722350.4A Pending CN117850969A (zh) 2023-12-14 2023-12-14 一种自动化产出多cpu多操作系统制品的方法

Country Status (1)

Country Link
CN (1) CN117850969A (zh)

Similar Documents

Publication Publication Date Title
EP1742125B1 (en) Method and apparatus for communicating transactions between an industrial controller and a programming interface
US6470375B1 (en) System and method for managing the execution of system management tasks
US8266617B2 (en) Software distribution method and system
US20150100829A1 (en) Method and system for selecting and executing test scripts
US20150100832A1 (en) Method and system for selecting and executing test scripts
CN114253569A (zh) 使用容器编排系统来更新操作技术设备
CN104021078B (zh) 软件监控装置及方法
WO2003001377A2 (en) Installing supervisory process control and manufacturing software from a remote location and maintaining configuration data links in a run-time environment
WO2007041083A2 (en) Enabling transactional mechanisms in an automated controller system
US20150100830A1 (en) Method and system for selecting and executing test scripts
WO2011150715A1 (zh) 分布式控制系统中采集第三方设备数据的方法及装置
CN110196731A (zh) 一种运维系统、方法及存储介质
CN103221891A (zh) 用于分布式控制系统的智能接口
US20150100831A1 (en) Method and system for selecting and executing test scripts
US20090037984A1 (en) Automated password tool and method of use
CN113778486B (zh) 一种代码流水线的容器化处理方法、装置、介质及设备
CN111736809B (zh) 分布式机器人集群网络管理框架及其实现方法
CN115115329A (zh) 一种面向智能生产线的制造中间件及云制造架构
CN111641516B (zh) 进程控制系统中节点的在线重新配置
US11500690B2 (en) Dynamic load balancing in network centric process control systems
CN112583630A (zh) 设备管理方法、装置、系统、设备及存储介质
CN113296795A (zh) 应用部署方法、装置、设备、存储介质及程序产品
CN117850969A (zh) 一种自动化产出多cpu多操作系统制品的方法
CN115941739A (zh) 一种物联网设备的巡检系统及巡检方法
CN114879977A (zh) 应用部署方法、装置及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination