CN113448686A - 一种资源部署方法、装置、电子设备及存储介质 - Google Patents

一种资源部署方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113448686A
CN113448686A CN202110693930.XA CN202110693930A CN113448686A CN 113448686 A CN113448686 A CN 113448686A CN 202110693930 A CN202110693930 A CN 202110693930A CN 113448686 A CN113448686 A CN 113448686A
Authority
CN
China
Prior art keywords
cluster
resources
container
information
resource
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.)
Granted
Application number
CN202110693930.XA
Other languages
English (en)
Other versions
CN113448686B (zh
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202110693930.XA priority Critical patent/CN113448686B/zh
Publication of CN113448686A publication Critical patent/CN113448686A/zh
Application granted granted Critical
Publication of CN113448686B publication Critical patent/CN113448686B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例适用于计算机技术领域,提供了一种资源部署方法、装置、电子设备及存储介质,其中,资源部署方法包括:基于集群中的第一容器监听第一信息和第二信息;第一信息表征集群中的资源的变化;第二信息表征集群的第一文本的内容的变化;第一文本表征对集群的资源的声明;在监听到第一信息和第二信息中的至少一者的情况下,基于第一容器对集群的资源进行部署。本发明实施例可以实现对集群资源的自动化部署,提高了集群资源的部署效率。

Description

一种资源部署方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种资源部署方法、装置、电子设备及存储介质。
背景技术
相关技术在进行集群资源部署时,集群资源的部署操作较为繁琐。比如,在k8s(kubernetes)集群中创建容器组(pod)时,需要部署人员依次创建pod所依赖的Services、Deployment等k8s资源,在移除和升级pod时,也需要同步删除pod所依赖的各类k8s资源,部署k8s资源的操作较为繁琐,k8s资源的部署效率低。
发明内容
为了解决上述问题,本发明实施例提供了一种资源部署方法、装置、电子设备及存储介质,以至少解决相关技术集群资源的部署效率低的问题。
本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种资源部署方法,该方法包括:
基于集群中的第一容器监听第一信息和第二信息;所述第一信息表征所述集群中的资源的变化;所述第二信息表征所述集群的第一文本的内容的变化;所述第一文本表征对所述集群的资源的声明;
在监听到所述第一信息和所述第二信息中的至少一者的情况下,基于所述第一容器对所述集群的资源进行部署。
在一实施例中,所述基于所述第一容器对所述集群的资源进行部署,包括:
基于所述第一容器将所述集群的资源部署为与所述第一文本声明的资源一致。
在一实施例中,所述基于所述第一容器将所述集群的资源部署为与所述第一文本声明的资源一致,包括:
基于所述第一信息和所述第二信息中的至少一者生成资源部署任务;所述资源部署任务用于将所述集群的资源部署为与所述第一文本声明的资源一致;
将所述资源部署任务添加到所述第一容器的设定队列中;所述设定队列用于基于所述资源部署任务调用设定接口部署所述集群的资源。
在一实施例中,在基于集群中的第一容器监听第一信息和第二信息之前,所述方法还包括:
从所述集群的镜像仓库获取所述第一容器对应的镜像文件;
将所述镜像文件加载至所述集群的一个容器中,以启动所述第一容器。
在一实施例中,在从所述集群的镜像仓库获取所述第一容器对应的镜像文件之前,所述方法还包括:
基于所述第一容器生成所述镜像文件;
将所述镜像文件存储在所述镜像仓库中。
在一实施例中,所述基于所述第一容器对所述集群的资源进行部署,包括:
基于所述第一信息和所述第二信息中的至少一者确定所述集群中需要部署的资源的集合;
基于所述第一容器对所述集合中的资源进行过滤;
基于所述第一容器对所述集群中的过滤后的所述集合中的资源进行部署。
在一实施例中,所述基于所述第一容器对所述集合中的资源进行过滤,包括:
将所述集合中与所述第一容器对应的资源类型不匹配的资源进行过滤。
第二方面,本发明实施例提供了一种资源部署装置,该装置包括:
监听模块,用于基于集群中的第一容器监听第一信息和第二信息;所述第一信息表征所述集群中的资源的变化;所述第二信息表征所述集群的第一文本的内容的变化;所述第一文本表征对所述集群的资源的声明;
部署模块,用于在监听到所述第一信息和所述第二信息中的至少一者的情况下,基于所述第一容器对所述集群的资源进行部署。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行本发明实施例第一方面提供的资源部署方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序。所述计算机程序被处理器执行时实现如本发明实施例第一方面提供的资源部署方法的步骤。
本发明实施例基于集群中的第一容器监听第一信息和第二信息,在监听到第一信息和第二信息中的至少一者的情况下,基于第一容器对集群的资源进行部署。其中,第一信息表征集群中的资源的变化,第二信息表征集群的第一文本的内容的变化,第一文本表征对集群的资源的声明。本发明实施例通过第一容器监听集群中的资源的变化和集群的第一文本的内容的变化,在监听到上述变化时,通过第一容器对集群资源进行部署,从而可以实现对集群资源的自动化部署,避免开发人员手动部署集群资源,提高了集群资源的部署效率。
附图说明
图1是本发明实施例提供的一种资源部署方法的实现流程示意图;
图2是本发明实施例提供的一种Operator架构的示意图;
图3是本发明实施例提供的另一种资源部署方法的实现流程示意图;
图4是本发明实施例提供的另一种资源部署方法的实现流程示意图;
图5是本发明实施例提供的另一种资源部署方法的实现流程示意图;
图6是本发明实施例提供的另一种资源部署方法的实现流程示意图;
图7是本发明实施例提供的一种k8s集群的结构示意图;
图8是本发明应用实施例提供的一种资源部署流程的示意图;
图9是本发明实施例提供的一种资源部署装置的示意图;
图10是本发明一实施例提供的电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Kubernetes(k8s)是一种示例性的开源容器集群管理系统,用于自动部署、扩展和管理容器化应用程序。在Kubernetes集群中,Pod是所有业务类型的基础,也是k8s管理的最小单位级,它是一个或多个容器的组合。一个或多个容器可运行在一个Pod内,容器共享同一个Pod的网络环境。k8s以Pod为最小单位进行调度、扩展、共享资源、管理生命周期。
相关技术在k8s集群中部署容器组pod时,需要部署人员依次部署pod所依赖的Services、Deployment等k8s资源,部署k8s资源的流程较为繁琐。为了避免部署人员人工部署,相关技术开发独立程序或安装脚本实现k8s资源的自动部署。但是,独立程序或安装脚本存在以下问题:
1)独立程序或安装脚本稳定性与功能性不足,用户体验差。通过独立程序或安装脚本创建资源时,会一次性创建很多资源,在其中某个资源创建失败时,需要重新利用独立程序或安装脚本创建所有资源。为了避免资源重复创建,此时需要将上一次创建成功的资源删除,对于这些资源需要部署人员手动删除,如何在k8s集群中定位这些资源是很困难的。
2)安装脚本或独立程序在内网环境中分发不便,需要一个个工作节点分发,用户部署时准备环境工作量大。
3)安装脚本或独立程序割裂于k8s环境,在k8s环境发生变化时,安装脚本或独立程序持续兼容性不高,需要重新对安装脚本或独立程序进行维护更新,开发成本高。
针对上述相关技术的缺点,本发明实施例提供了一种资源部署方法,至少能够提高集群资源的部署效率。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1是本发明实施例提供的一种资源部署方法的实现流程示意图,所述资源部署方法的执行主体为电子设备,电子设备可以为台式电脑、笔记本电脑和服务器等。参考图1,资源部署方法包括:
S101,基于集群中的第一容器监听第一信息和第二信息;所述第一信息表征所述集群中的资源的变化;所述第二信息表征所述集群的第一文本的内容的变化;所述第一文本表征对所述集群的资源的声明。
这里,集群是运行容器集群管理系统的服务器集群,容器集群管理系统可以是k8s、Docker容器引擎、openshift、podman、cri-o和containerd等,k8s集群是部署k8s管理系统的服务器集群。本发明实施例中的k8s只是作为容器集群管理系统的一种示例,并不是对容器集群管理系统的限定。
这里,第一容器是集群中的一个容器,例如,第一容器可以是运行在pod中的容器。
本发明实施例在第一容器中运行一个Operator程序,在k8s集群中,Operator是Kubernetes的扩展软件,它利用定制资源管理应用及其组件。Operator是Kubernetes API的客户端,充当定制资源的控制器,它用来创建、配置和管理复杂的有状态应用。除此之外,还可以用Helm代替Operator,Helm是一个命令行工具,可以帮用户同时编排多个k8s资源,统一发布到k8s。
参考图2,图2是本发明实施例提供的一种Operator架构的示意图。Operator包括资源监控模块、日志模块和调和队列。
其中,资源监控模块用于监听第一信息和第二信息,所述第一信息表征k8s集群中的资源的变化,第二信息表征k8s集群的第一文本的内容的变化,第一文本表征对k8s集群的资源的声明。
k8s集群中的资源的变化指k8s集群资源的自动变化,在k8s集群出现运行错误时,k8s集群内部资源可能会发生变化,比如出现多创建一个pod、pod名称发生变化、pod数量异常等现象。例如,k8s集群在运行时突发异常,将内部一个pod误删除了。应理解,这里第一信息所指的变化既包括资源本身发生了变化,还包括资源的数量发生了变化。比如,pod的名称进行修改是资源本身发生了变化,pod数量由3变成了2是资源的数量发生了变化。
第一文本的内容的变化指用户主动对集群资源进行部署,第一文本是用户声明的集群资源。第一文本可以是CRD(Custom Resource Definition),CRD是Kubernetes中无需改变代码就可以扩展KubernetesAPI的机制,用户可以根据自己的需求添加自定义的Kubernetes对象资源。通过监听CRD资源变化,从而触发对应资源的回调事件(add,update,delete),回调事件是将需要变动的k8s资源生成任务加入到调和队列。
调和队列:用于接收各类监听协程生成的任务,由调和队列进行任务消费处理,处理的方式包含但不限于调用kube-api接口。
日志模块是公共模块,按照Debug,Info,Warning,Error,Critical,Fatal,Panic等划分日志等级并按等级、日期等生成日志文件,其余各模块均可直接调用。
这里,Operator有两种运行模式,一种以独立的程序运行在k8s集群的节点中。另一种以容器的方式运行,即本发明实施例中的第一容器。
在以容器形式运行时,在一实施例中,在基于集群中的第一容器监听第一信息和第二信息之前,所述方法还包括:
S301,从所述集群的镜像仓库获取所述第一容器对应的镜像文件。
将第一容器中的Operator程序以镜像文件的形式存储在集群的镜像仓库中,在需要使用第一容器时,从集群的镜像仓库获取第一容器对应的镜像文件。
S302,将所述镜像文件加载至所述集群的一个容器中,以启动所述第一容器。
将镜像文件加载在集群的一个容器中,从而启动所述第一容器。
参考图4,在一实施例中,在从所述集群的镜像仓库获取所述第一容器对应的镜像文件之前,所述方法还包括:
S401,基于所述第一容器生成所述镜像文件。
将第一容器中的Operator程序制作成镜像文件。
S402,将所述镜像文件存储在所述镜像仓库中。
将镜像文件存储在所述镜像仓库中,在需要使用该Operator程序时只需在容器中装载镜像启动即可。
S102,在监听到所述第一信息和所述第二信息中的至少一者的情况下,基于所述第一容器对所述集群的资源进行部署。
在一实施例中,所述基于所述第一容器对所述集群的资源进行部署,包括:
基于所述第一容器将所述集群的资源部署为与所述第一文本声明的资源一致。
这里,第一容器用于将集群的资源部署为与第一文本声明的资源一致,在仅监听到第一信息时,基于第一文本声明的资源对集群的资源进行部署。比如,如果集群内部自己删除了一个pod,则第一容器根据第一文本声明的资源重新在集群中创建一个对应的pod。
在仅监听到第二信息时,表明用户主动修改了第一文本声明的资源,第一容器根据第一文本声明的资源对集群的资源进行部署。比如,如果用户在第一文本声明的资源中新增了一个pod,则第一容器根据第一文本声明的资源在集群中创建一个对应的pod。这里,第一文本的内容是否发生变化,其内容都属于第一文本声明的资源的范畴。也就是说,当第一文本的内容发生变化时,所述基于第一容器将所述集群的资源部署为与所述第一文本声明的资源一致是指:基于第一容器将所述集群的资源部署为与内容变化后的第一文本声明的资源一致。
如果同时监听到了第一信息和第二信息,则根据第一文本声明的资源对集群的资源进行部署,将集群的资源部署为与所述第一文本声明的资源一致。
参考图5,在一实施例中,所述基于所述第一容器将所述集群的资源部署为与所述第一文本声明的资源一致,包括:
S501,基于所述第一信息和所述第二信息中的至少一者生成资源部署任务;所述资源部署任务用于将所述k集群的资源部署为与所述第一文本声明的资源一致。
这里,如果仅监听到第一信息,如果第一信息表征集群内部多创建了资源,比如多创建了一个pod,则生成的资源部署任务则是在集群中对多创建的资源进行删除。如果第一信息表征集群内部删除了资源,则生成的资源部署任务则是创建被删除的资源。
如果仅监听到了第二信息,则根据第二信息生成资源部署任务。例如,用户在第一文本中新增了资源,则资源部署任务为在集群中创建新增的资源。
如果同时监听到第一信息和第二信息,比如,第一信息表征集群内部多创建了一个pod,第二信息表征用户主动新增了一个控制器。则资源部署任务为在集群中对多创建的pod进行删除,并且创建一个控制器。使得集群的资源与第一文本声明的资源一致。
S502,将所述资源部署任务添加到所述第一容器的设定队列中;所述设定队列用于基于所述资源部署任务调用设定接口部署所述集群的资源。
这里,设定队列为上述实施例中的调和队列,设定队列基于资源部署任务调用设定接口部署集群的资源。在k8s集群中,设定接口为kube-api接口。
在一实施例中,按照资源部署任务加入设定队列的先后时间对资源部署任务进行处理,优先处理先加入设定队列的资源部署任务。
参考图6,在一实施例中,所述基于所述第一容器对所述集群的资源进行部署,包括:
S601,基于所述第一信息和所述第二信息中的至少一者确定所述集群中需要部署的资源的集合。
比如,在k8s集群中,如果第二信息表征用户主动创建了一个pod,则k8s集群中需要部署的资源的集合包括:Services、Deployment等k8s资源。
S602,基于所述第一容器对所述集合中的资源进行过滤。
在一实施例中,所述基于所述第一容器对所述集合中的资源进行过滤,包括:
将所述集合中与所述第一容器对应的资源类型不匹配的资源进行过滤。
在k8s集群中部署资源时,有一些k8s集群中的资源是不需要变化的,比如用户主动创建一个pod时,k8s集群中需要部署的资源的集合包括:Services、Deployment等k8s资源。这里,Services资源变不变化都不会影响k8s集群,将Services资源重新部署反而浪费部署时间,影响资源部署效率。所以,Services可以不进行部署,将Services资源过滤掉。
第一容器对应的资源类型是固定的,不会动态变化,比如第一容器对应的资源类型包括Deployment资源,如果k8s集群中需要部署的资源的集合包括:Services和Deployment资源,则将Services资源过滤,保留Deployment资源。
S603,基于所述第一容器对所述集群中的过滤后的所述集合中的资源进行部署。
比如,在k8s集群中,调用kube-api接口对k8s集群中的资源进行部署。
仅对集群中过滤后的集合中的资源进行部署,这样可以节省资源部署时间,提高资源部署效率。
本发明实施例基于集群中的第一容器监听第一信息和第二信息,在监听到第一信息和第二信息中的至少一者的情况下,基于第一容器对集群的资源进行部署。其中,第一信息表征集群中的资源的变化,第二信息表征集群的第一文本的内容的变化,第一文本表征对集群的资源的声明。本发明实施例通过第一容器监听集群中的资源的变化和集群的第一文本的内容的变化,在监听到上述变化时,通过第一容器对集群资源进行部署,从而可以实现对集群资源的自动化部署,避免开发人员手动部署集群资源,提高了集群资源的部署效率。
参考图7,图7是本发明实施例提供的一种k8s集群的结构示意图。k8s集群由master节点和多个node节点组成,master节点是k8s集群的主节点,node节点是k8s集群的工作节点,node上运行着master节点分配的pod。kube-apiserve、kube-controller-manager和kube-scheduler等运行在master节点上,kubelet和kube-proxy等运行在node节点上,master-node通过apiserver和kubelet完成交互通信,etcd存储整个集群的配置信息,Dashboard(前端操作界面)和kubectl(后台命令行)作为集群的管理工具,Pod作为集群最基础的调度单元会被kube-scheduler调度分配至node节点。Operator作为pod运行在k8s集群中,由集群统一管理,通过kube-apiserver访问监听k8s集群的资源变动信息,从而去同步创建相关负载资源。
图8是本发明应用实施例提供的一种资源部署流程的示意图。资源部署流程包括:
S801,启动第一容器。
这里,Operator有两种运行模式,一种以独立的程序运行在k8s集群的节点中。另一种以容器的方式运行,即本发明所述的第一容器。
在以容器形式运行时,将第一容器中的Operator程序以镜像文件的形式存储在k8s集群的镜像仓库中,在需要使用第一容器时,从k8s集群的镜像仓库获取第一容器对应的镜像文件。将镜像文件加载在k8s集群的一个容器中,从而启动所述第一容器。
S802,持续监听k8s资源变化。
基于第一容器监听第一信息和第二信息;第一信息表征所述k8s集群中的资源的变化;第二信息表征所述k8s集群的第一文本的内容的变化;第一文本表征对所述k8s集群的资源的声明。
S803,k8s资源是否发生变化。
如果监听到k8s资源发生变化,执行S804。否则,执行S802。
S804,获取k8s变化的资源。
在监听k8s资源发生变化的情况下,获取k8s集群中变化的资源。
基于第一信息和第二信息中的至少一者生成资源部署任务;资源部署任务用于将k8s集群的资源部署为与第一文本声明的资源一致。
将资源部署任务添加到第一容器的设定队列中;设定队列用于基于资源部署任务调用设定接口部署k8s集群的资源。
S805,调用kube-api接口部署k8s资源。
调用kube-api接口对k8s集群中的资源进行部署,将k8s集群的资源部署为与第一文本声明的资源一致。
本发明应用实施例通过第一容器监听k8s集群资源的变化,通过第一容器可以实现对k8s资源的自动化部署,提高了k8s资源的部署效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
另外,在本发明实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
参考图9,图9是本发明实施例提供的一种资源部署装置的示意图,如图9所示,该装置包括:监听模块和部署模块。
监听模块,用于监听模块,用于基于集群中的第一容器监听第一信息和第二信息;所述第一信息表征所述集群中的资源的变化;所述第二信息表征所述集群的第一文本的内容的变化;所述第一文本表征对所述集群的资源的声明;
部署模块,用于在监听到所述第一信息和所述第二信息中的至少一者的情况下,基于所述第一容器对所述集群的资源进行部署。
部署模块在基于所述第一容器对所述集群的资源进行部署时,用于:
基于所述第一容器将所述集群的资源部署为与所述第一文本声明的资源一致。
部署模块在基于所述第一容器将所述集群的资源部署为与所述第一文本声明的资源一致时,具体用于:
基于所述第一信息和所述第二信息中的至少一者生成资源部署任务;所述资源部署任务用于将所述集群的资源部署为与所述第一文本声明的资源一致;
将所述资源部署任务添加到所述第一容器的设定队列中;所述设定队列用于基于所述资源部署任务调用设定接口部署所述集群的资源。
在一实施例中,所述装置还包括:
获取模块,用于从所述集群的镜像仓库获取所述第一容器对应的镜像文件;
加载模块,用于将所述镜像文件加载至所述集群的一个容器中,以启动所述第一容器。
所述装置还包括:
生成模块,用于基于所述第一容器生成所述镜像文件;
存储模块,用于将所述镜像文件存储在所述镜像仓库中。
在一实施例中,部署模块基于所述第一容器对所述集群的资源进行部署时,具体用于:
基于所述第一信息和所述第二信息中的至少一者确定所述集群中需要部署的资源的集合;
基于所述第一容器对所述集合中的资源进行过滤;
基于所述第一容器对所述集群中的过滤后的所述集合中的资源进行部署。
部署模块基于所述第一容器对所述集合中的资源进行过滤时,具体用于:
将所述集合中与所述第一容器对应的资源类型不匹配的资源进行过滤。
实际应用时,所述监听模块和部署模块可通过电子设备中的处理器,比如中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital SignalProcessor)、微控制单元(MCU,MicrocontrollerUnit)或可编程门阵列(FPGA,Field-Programmable GateArray)等实现。
需要说明的是:上述实施例提供的资源部署装置在进行容器组部署时,仅以上述各模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的模块完成,即将装置的内部结构划分成不同的模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的资源部署装置与资源部署方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备。图10为本申请实施例电子设备的硬件组成结构示意图,如图10所示,电子设备包括:
通信接口,能够与其它设备比如网络设备等进行信息交互;
处理器,与所述通信接口连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述电子设备侧一个或多个技术方案提供的方法。而所述计算机程序存储在存储器上。
当然,实际应用时,电子设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为总线系统。
本申请实施例中的存储器用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-OnlyMemory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,RandomAccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static RandomAccess Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic RandomAccess Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic RandomAccess Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic RandomAccess Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus RandomAccess Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。
可选地,所述处理器执行所述程序时实现本申请实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器,上述计算机程序可由电子设备的处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、电子设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
另外,在本申请实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种资源部署方法,其特征在于,所述方法包括:
基于集群中的第一容器监听第一信息和第二信息;所述第一信息表征所述集群中的资源的变化;所述第二信息表征所述集群的第一文本的内容的变化;所述第一文本表征对所述集群的资源的声明;
在监听到所述第一信息和所述第二信息中的至少一者的情况下,基于所述第一容器对所述集群的资源进行部署。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一容器对所述集群的资源进行部署,包括:
基于所述第一容器将所述集群的资源部署为与所述第一文本声明的资源一致。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一容器将所述集群的资源部署为与所述第一文本声明的资源一致,包括:
基于所述第一信息和所述第二信息中的至少一者生成资源部署任务;所述资源部署任务用于将所述集群的资源部署为与所述第一文本声明的资源一致;
将所述资源部署任务添加到所述第一容器的设定队列中;所述设定队列用于基于所述资源部署任务调用设定接口部署所述集群的资源。
4.根据权利要求1所述的方法,其特征在于,在基于集群中的第一容器监听第一信息和第二信息之前,所述方法还包括:
从所述集群的镜像仓库获取所述第一容器对应的镜像文件;
将所述镜像文件加载至所述集群的一个容器中,以启动所述第一容器。
5.根据权利要求4所述的方法,其特征在于,在从所述集群的镜像仓库获取所述第一容器对应的镜像文件之前,所述方法还包括:
基于所述第一容器生成所述镜像文件;
将所述镜像文件存储在所述镜像仓库中。
6.根据权利要求1至2任一项所述的方法,其特征在于,所述基于所述第一容器对所述集群的资源进行部署,包括:
基于所述第一信息和所述第二信息中的至少一者确定所述集群中需要部署的资源的集合;
基于所述第一容器对所述集合中的资源进行过滤;
基于所述第一容器对所述集群中的过滤后的所述集合中的资源进行部署。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第一容器对所述集合中的资源进行过滤,包括:
将所述集合中与所述第一容器对应的资源类型不匹配的资源进行过滤。
8.一种资源部署装置,其特征在于,包括:
监听模块,用于基于集群中的第一容器监听第一信息和第二信息;所述第一信息表征所述集群中的资源的变化;所述第二信息表征所述集群的第一文本的内容的变化;所述第一文本表征对所述集群的资源的声明;
部署模块,用于在监听到所述第一信息和所述第二信息中的至少一者的情况下,基于所述第一容器对所述集群的资源进行部署。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的资源部署方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的资源部署方法。
CN202110693930.XA 2021-06-22 2021-06-22 一种资源部署方法、装置、电子设备及存储介质 Active CN113448686B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110693930.XA CN113448686B (zh) 2021-06-22 2021-06-22 一种资源部署方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110693930.XA CN113448686B (zh) 2021-06-22 2021-06-22 一种资源部署方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113448686A true CN113448686A (zh) 2021-09-28
CN113448686B CN113448686B (zh) 2024-05-24

Family

ID=77812253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110693930.XA Active CN113448686B (zh) 2021-06-22 2021-06-22 一种资源部署方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113448686B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961311A (zh) * 2021-10-27 2022-01-21 阿波罗智联(北京)科技有限公司 业务数据处理方法、装置、电子设备和介质
CN114691125A (zh) * 2022-04-01 2022-07-01 上海道客网络科技有限公司 一种应用资源映射转换的方法、系统、介质和电子设备
CN116501446A (zh) * 2023-06-09 2023-07-28 摩尔线程智能科技(北京)有限责任公司 Kubernetes集群部署方法及系统、电子设备
CN117827381A (zh) * 2024-03-06 2024-04-05 山东浪潮科学研究院有限公司 一种基于Kubernets低代码应用运行态部署及扩容方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017045424A1 (zh) * 2015-09-18 2017-03-23 乐视控股(北京)有限公司 一种应用程序部署系统及部署方法
WO2017161984A1 (zh) * 2016-03-24 2017-09-28 中兴通讯股份有限公司 数据集群的部署方法、装置、系统及计算机存储介质
CN108958927A (zh) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 容器应用的部署方法、装置、计算机设备和存储介质
CN110661842A (zh) * 2019-08-12 2020-01-07 广州亦云信息技术股份有限公司 一种资源的调度管理方法、电子设备和存储介质
CN111638961A (zh) * 2020-06-04 2020-09-08 中国工商银行股份有限公司 资源调度系统和方法、计算机系统和存储介质
CN111651178A (zh) * 2020-05-27 2020-09-11 平安普惠企业管理有限公司 容器配置更新方法、装置、计算机设备和存储介质
CN112214330A (zh) * 2020-11-04 2021-01-12 腾讯科技(深圳)有限公司 集群中主节点的部署方法、装置及计算机可读存储介质
CN112925695A (zh) * 2021-03-29 2021-06-08 浪潮云信息技术股份公司 一种自动化更新配置fluentd的配置文件的方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017045424A1 (zh) * 2015-09-18 2017-03-23 乐视控股(北京)有限公司 一种应用程序部署系统及部署方法
WO2017161984A1 (zh) * 2016-03-24 2017-09-28 中兴通讯股份有限公司 数据集群的部署方法、装置、系统及计算机存储介质
CN108958927A (zh) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 容器应用的部署方法、装置、计算机设备和存储介质
CN110661842A (zh) * 2019-08-12 2020-01-07 广州亦云信息技术股份有限公司 一种资源的调度管理方法、电子设备和存储介质
CN111651178A (zh) * 2020-05-27 2020-09-11 平安普惠企业管理有限公司 容器配置更新方法、装置、计算机设备和存储介质
CN111638961A (zh) * 2020-06-04 2020-09-08 中国工商银行股份有限公司 资源调度系统和方法、计算机系统和存储介质
CN112214330A (zh) * 2020-11-04 2021-01-12 腾讯科技(深圳)有限公司 集群中主节点的部署方法、装置及计算机可读存储介质
CN112925695A (zh) * 2021-03-29 2021-06-08 浪潮云信息技术股份公司 一种自动化更新配置fluentd的配置文件的方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961311A (zh) * 2021-10-27 2022-01-21 阿波罗智联(北京)科技有限公司 业务数据处理方法、装置、电子设备和介质
US11870867B2 (en) 2021-10-27 2024-01-09 Apollo Intelligent Connectivity (Beijing) Technology Co., Ltd. Method of processing service data, electronic device and storage medium
CN114691125A (zh) * 2022-04-01 2022-07-01 上海道客网络科技有限公司 一种应用资源映射转换的方法、系统、介质和电子设备
CN114691125B (zh) * 2022-04-01 2023-05-23 上海道客网络科技有限公司 一种应用资源映射转换的方法、系统、介质和电子设备
CN116501446A (zh) * 2023-06-09 2023-07-28 摩尔线程智能科技(北京)有限责任公司 Kubernetes集群部署方法及系统、电子设备
CN116501446B (zh) * 2023-06-09 2024-06-07 摩尔线程智能科技(北京)有限责任公司 Kubernetes集群部署方法及系统、电子设备
CN117827381A (zh) * 2024-03-06 2024-04-05 山东浪潮科学研究院有限公司 一种基于Kubernets低代码应用运行态部署及扩容方法
CN117827381B (zh) * 2024-03-06 2024-06-11 山东浪潮科学研究院有限公司 一种基于Kubernets低代码应用运行态部署及扩容方法

Also Published As

Publication number Publication date
CN113448686B (zh) 2024-05-24

Similar Documents

Publication Publication Date Title
CN113448686A (zh) 一种资源部署方法、装置、电子设备及存储介质
CN110413288B (zh) 应用部署方法、装置、服务器及存储介质
CN111338854B (zh) 基于Kubernetes集群快速恢复数据的方法及系统
US8418139B2 (en) System and method for updating initialization parameters for application software from within a software development environment
US6904593B1 (en) Method of administering software components using asynchronous messaging in a multi-platform, multi-programming language environment
US7774762B2 (en) System including run-time software to enable a software application to execute on an incompatible computer platform
EP3944082A1 (en) Extending the kubernetes api in-process
US20100325624A1 (en) Method and System for Application Portability
CN111651178A (zh) 容器配置更新方法、装置、计算机设备和存储介质
EP3963447B1 (en) Supervisory device with deployed independent application containers for automation control programs
CN112269640B (zh) 一种实现容器云组件的生命周期管理的方法
WO2002084479A2 (en) Method and apparatus for performing online application upgrades in a java platform
CN110427258B (zh) 基于云平台的资源调度控制方法及装置
US11528186B2 (en) Automated initialization of bare metal servers
WO2002075540A2 (en) Method and apparatus for providing application specific strategies to a java platform including load balancing policies
CN113204353A (zh) 一种大数据平台组件部署方法及装置
CN109684028A (zh) 一种操作系统与用户数据分离的方法、装置及设备
KR100590730B1 (ko) 에스시에이 기반 시스템의 파일 시스템, 및 그의소프트웨어 컴포넌트 파일 배치 및 관리 방법
CN113626095A (zh) 配置中心的切换方法、切换系统、电子设备及存储介质
EP1389314A2 (en) Method and apparatus for providing application specific strategies to a java platform including start and stop policies
CN116382713A (zh) 构建应用镜像的方法、系统、设备和存储介质
CN108228192B (zh) 一种面向服务的机载软件的动态管理的实现方法
CN114880073A (zh) 一种对用户屏蔽Web框架的云应用引擎部署方法、装置、设备和存储介质
CN116360865A (zh) 集群管理方法、设备及计算系统
CN118132395A (zh) 基于k8s的Flink任务多集群监控告警方法及设备

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
GR01 Patent grant
GR01 Patent grant