CN119902857A - 云原生分布式数据库升级方法、装置、设备、介质及产品 - Google Patents
云原生分布式数据库升级方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN119902857A CN119902857A CN202411992622.7A CN202411992622A CN119902857A CN 119902857 A CN119902857 A CN 119902857A CN 202411992622 A CN202411992622 A CN 202411992622A CN 119902857 A CN119902857 A CN 119902857A
- Authority
- CN
- China
- Prior art keywords
- upgrade
- container
- distributed database
- deployed
- target
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种云原生分布式数据库升级方法、装置、设备、介质及产品。该方法包括:通过部署在主节点上的goldendb‑controller组件接收用户的升级请求,并确定需要升级的目标容器所在的目标工作节点;通过部署在目标工作节点上的goldendb‑daemonset组件接收主节点下发的升级信息,以根据升级信息拉取新镜像到目标工作节点,并基于新镜像对目标容器对应的有状态集中的容器镜像信息进行更新;通过部署在目标工作节点上的kubelet组件根据新镜像创建新容器运行。本发明所提供的技术方案,极大的提高了数据库组件的升级效率,实现了云平台上分布式数据库的快速升级,而且还可以实现在不影响数据库业务组件正常服务状态下,对监控、日志采集等周边组件版本的升级。
Description
技术领域
本发明实施例涉及分布式数据库技术领域,尤其涉及一种云原生分布式数据库升级方法、装置、设备、介质及产品。
背景技术
在云原生时代,数据库技术经历了显著变革,以满足快速发展的应用需求。分布式数据库提供高可用性和可扩展性,支持微服务架构下的多租户和灵活数据模型。无服务器计算模式使资源按需自动调整,容器化技术增强了数据库的灵活性和管理性。此外,实时数据处理通过事件驱动架构得以实现,多模型数据库则支持多种数据处理方式。这些技术共同推动了云原生数据库的高性能和灵活数据管理解决方案的发展。
现有云原生数据库技术中,当对云平台已经部署好的数据库进行升级时,是将旧的容器删除,然后重新创建一个新的容器,该过程需要重新计算以将组件调度到合适的节点上,也需要为新的容器重新分配网络资源,由于分布式数据库整个网络链路比较复杂,重建网络链路需要花费很长时间,同时拉取镜像也需要时间,尤其对于镜像较大的场景,耗费时间更长,这都影响了升级效率。而且现有技术中通常不支持单独升级某个容器,导致升级监控等其他组件时需要暂停业务,这也影响了数据库的升级效率。
发明内容
本发明实施例提供一种云原生分布式数据库升级方法、装置、设备、介质及产品,以解决现有技术中升级效率低下的问题。
第一方面,本发明实施例提供了一种云原生分布式数据库升级方法,所述分布式数据库基于kubernetes所搭建的云环境进行部署,数据库组件以容器方式部署,所述方法包括:
通过部署在主节点上的goldendb-controller组件接收用户的升级请求,并确定需要升级的目标容器所在的目标工作节点;
通过部署在所述目标工作节点上的goldendb-daemonset组件接收所述主节点下发的升级信息,以根据所述升级信息拉取新镜像到所述目标工作节点,并基于所述新镜像对所述目标容器对应的有状态集中的容器镜像信息进行更新;
通过部署在所述目标工作节点上的kubelet组件根据所述新镜像创建新容器运行。
可选的,所述通过部署在所述目标工作节点上的kubelet组件根据所述新镜像创建新容器运行,包括:
通过部署在所述目标工作节点上的goldendb-daemonset组件调用所述目标容器的CRI接口停止所述目标容器的运行;
通过部署在所述目标工作节点上的kubelet组件在监控到所述目标容器停止运行时,通过所述CRI接口创建所述新容器运行。
可选的,在所述通过部署在主节点上的goldendb-controller组件接收用户的升级请求之前,还包括:
通过部署在所述主节点上的goldendb-controller组件基于用户请求创建有状态集,以对各个数据库组件进行部署及管理。
可选的,所述升级信息包括容器信息和版本信息。
可选的,所述根据所述升级信息拉取新镜像到所述目标工作节点,包括:
根据所述升级信息创建对应的Job以拉取所述新镜像。
可选的,所述方法还包括:
配置所述分布式数据库的升级策略为快速升级模式或普通升级模式,并在配置为快速升级模式下执行上述云原生分布式数据库升级方法。
第二方面,本发明实施例还提供了一种云原生分布式数据库升级装置,所述分布式数据库基于kubernetes所搭建的云环境进行部署,数据库组件以容器方式部署,所述装置包括:
升级请求接收模块,用于通过部署在主节点上的goldendb-controller组件接收用户的升级请求,并确定需要升级的目标容器所在的目标工作节点;
镜像更新模块,用于通过部署在所述目标工作节点上的goldendb-daemonset组件接收所述主节点下发的升级信息,以根据所述升级信息拉取新镜像到所述目标工作节点,并基于所述新镜像对所述目标容器对应的有状态集中的容器镜像信息进行更新;
新容器运行模块,用于通过部署在所述目标工作节点上的kubelet组件根据所述新镜像创建新容器运行。
第三方面,本发明实施例还提供了一种计算机设备,该计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的云原生分布式数据库升级方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的云原生分布式数据库升级方法。
第五方面,本发明实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的云原生分布式数据库升级方法。
本发明实施例提供了一种云原生分布式数据库升级方法,所针对的分布式数据库基于kubernetes所搭建的云环境进行部署,其中的各个数据库组件以容器方式部署,首先由部署在主节点上的goldendb-controller组件接收用户的升级请求,并确定需要升级的目标容器所在的目标工作节点,然后由部署在目标工作节点上的goldendb-daemonset组件接收主节点下发的升级信息,以根据该升级信息拉取新镜像到目标工作节点,并基于新镜像对目标容器对应的有状态集中的容器镜像信息进行更新,再通过部署在目标工作节点上的kubelet组件根据新镜像创建新容器运行。本发明实施例所提供的云原生分布式数据库升级方法,通过复用同一个容器对象,仅是修改对应状态集中的字段,避免了调度及分配网络资源等代价,同时在接收到升级信息时即提前拉取到新镜像备用,极大的提高了数据库组件的升级效率,实现了云平台上分布式数据库的快速升级,而且还可以实现在不影响数据库业务组件正常服务状态下,对监控、日志采集等周边组件版本的升级。
附图说明
图1为本发明实施例一提供的云原生分布式数据库升级方法的流程图;
图2为本发明实施例一提供的分布式数据库部署结构示意图;
图3为本发明实施例一提供的升级流程示意图;
图4为本发明实施例二提供的云原生分布式数据库升级装置的结构示意图;
图5为本发明实施例三提供的计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一提供的云原生分布式数据库升级方法的流程图。本实施例可适用于将分布式数据库在公有云平台上部署和使用的情况,并可在需要时支持版本的快速升级。该方法可以由本发明实施例所提供的云原生分布式数据库升级装置来执行,该装置可以由硬件和/或软件的方式来实现,一般可集成于计算机设备中。该方法所针对的分布式数据库基于kubernetes所搭建的云环境进行部署,且各数据库组件以容器方式部署。如图1所示,该方法具体包括如下步骤:
S11、通过部署在主节点上的goldendb-controller组件接收用户的升级请求,并确定需要升级的目标容器所在的目标工作节点。
S12、通过部署在所述目标工作节点上的goldendb-daemonset组件接收所述主节点下发的升级信息,以根据所述升级信息拉取新镜像到所述目标工作节点,并基于所述新镜像对所述目标容器对应的有状态集中的容器镜像信息进行更新。
S13、通过部署在所述目标工作节点上的kubelet组件根据所述新镜像创建新容器运行。
具体的,kubernetes(k8s)是一个开源的,用于管理云平台中多个主机上的容器化应用,提供了应用部署、规划、更新、维护的一种机制。分布式数据库可以基于kubernetes所搭建的云环境进行部署,如图2所示,数据库组件,如计算节点组件、存储节点组件等,还可以包括监控、日志采集等周边组件,会以容器的方式部署在k8s环境中。云化控制组件goldendb-controller组件部署在k8s的主节点(master)上,并可通过API SERVER组件接收用户请求进行处理。goldendb-daemonset组件部署在k8s每个工作节点(node)上,可负责处理与节点CRI交互。在每个工作节点中,各数据库组件及goldendb-daemonset组件可以分别通过POD实现调度运行,其中,POD是k8s调度、管理的最小单位,一个POD可以包含一个或多个容器,每个POD有自己的虚拟IP,一个工作节点可以有多个POD,主节点可以考量负载自动调度POD到哪个工作节点运行。
当用户需要对数据库组件进行版本升级时,可以输入自定义的升级请求。goldendb-controller组件在接收到用户的升级请求后,可以根据该升级请求确定需要升级的目标容器所在的目标工作节点,并将确定的升级信息下发到目标工作节点。其中,可选的,所述升级信息包括容器信息和版本信息。
目标工作节点上的goldendb-daemonset组件在接收到goldendb-controller组件下发的升级信息时,可以首先进行镜像预加载,立即拉取相应的新镜像到目标工作节点上备用,而无需等待对容器的处理。可选的,所述根据所述升级信息拉取新镜像到所述目标工作节点,包括:根据所述升级信息创建对应的Job以拉取所述新镜像。在拉取到新镜像后,将管理目标容器的有状态集中的容器镜像信息更新为新镜像的信息,即此处可复用同一个POD对象,且只需要修改字段即可。其中的有状态集可以是一种增强型Statefulset,Statefulset是k8s中的一个核心概念,用于管理有状态应用的POD部署和伸缩等,相较于原生Statefulset,增强型Statefulset为容器提供了更细粒度的管理。
完成新镜像的加载及容器镜像信息的更新后,通过目标工作节点上的kubelet组件根据新镜像创建新容器运行,即可完成对目标容器镜像版本的升级。可选的,所述通过部署在所述目标工作节点上的kubelet组件根据所述新镜像创建新容器运行,包括:通过部署在所述目标工作节点上的goldendb-daemonset组件调用所述目标容器的CRI接口停止所述目标容器的运行;通过部署在所述目标工作节点上的kubelet组件在监控到所述目标容器停止运行时,通过所述CRI接口创建所述新容器运行。具体流程如图3所示,通过目标工作节点上goldendb-daemonset组件和kubelet组件的配合,实现旧容器的停运和新容器的启用,从而完成对相应数据库组件的运维升级。其中,CRI是k8s提供的一种标准接口,用于与不同的容器运行时集成,通过定义一组标准化的API,使得k8s可以与多种容器运行时进行通信,从而实现容器的生命周期管理。
在上述技术方案的基础上,可选的,在所述通过部署在主节点上的goldendb-controller组件接收用户的升级请求之前,还包括:通过部署在所述主节点上的goldendb-controller组件基于用户请求创建有状态集,以对各个数据库组件进行部署及管理,从而首先保证数据库组件的正常运行。
在上述技术方案的基础上,可选的,所述方法还包括:配置所述分布式数据库的升级策略为快速升级模式或普通升级模式,并在配置为快速升级模式下执行上述任意的云原生分布式数据库升级方法。具体的,即在配置为快速升级模式时,可以采用本实施例所提供的镜像预加载及修改字段等方式进行版本升级,而在配置为普通升级模式时,还可以采用传统的方案进行升级。
本发明实施例所提供的技术方案,所针对的分布式数据库基于kubernetes所搭建的云环境进行部署,其中的各个数据库组件以容器方式部署,首先由部署在主节点上的goldendb-controller组件接收用户的升级请求,并确定需要升级的目标容器所在的目标工作节点,然后由部署在目标工作节点上的goldendb-daemonset组件接收主节点下发的升级信息,以根据该升级信息拉取新镜像到目标工作节点,并基于新镜像对目标容器对应的有状态集中的容器镜像信息进行更新,再通过部署在目标工作节点上的kubelet组件根据新镜像创建新容器运行。通过复用同一个容器对象,仅是修改对应状态集中的字段,避免了调度及分配网络资源等代价,同时在接收到升级信息时即提前拉取到新镜像备用,极大的提高了数据库组件的升级效率,实现了云平台上分布式数据库的快速升级,而且还可以实现在不影响数据库业务组件正常服务状态下,对监控、日志采集等周边组件版本的升级。
实施例二
图4为本发明实施例二提供的云原生分布式数据库升级装置的结构示意图,该装置可以由硬件和/或软件的方式来实现,一般可集成于计算机设备中,用于执行本发明任意实施例所提供的云原生分布式数据库升级方法。该装置所针对的分布式数据库基于kubernetes所搭建的云环境进行部署,且各数据库组件以容器方式部署。如图4所示,该装置包括:
升级请求接收模块41,用于通过部署在主节点上的goldendb-controller组件接收用户的升级请求,并确定需要升级的目标容器所在的目标工作节点;
镜像更新模块42,用于通过部署在所述目标工作节点上的goldendb-daemonset组件接收所述主节点下发的升级信息,以根据所述升级信息拉取新镜像到所述目标工作节点,并基于所述新镜像对所述目标容器对应的有状态集中的容器镜像信息进行更新;
新容器运行模块43,用于通过部署在所述目标工作节点上的kubelet组件根据所述新镜像创建新容器运行。
本发明实施例所提供的技术方案,所针对的分布式数据库基于kubernetes所搭建的云环境进行部署,其中的各个数据库组件以容器方式部署,首先由部署在主节点上的goldendb-controller组件接收用户的升级请求,并确定需要升级的目标容器所在的目标工作节点,然后由部署在目标工作节点上的goldendb-daemonset组件接收主节点下发的升级信息,以根据该升级信息拉取新镜像到目标工作节点,并基于新镜像对目标容器对应的有状态集中的容器镜像信息进行更新,再通过部署在目标工作节点上的kubelet组件根据新镜像创建新容器运行。通过复用同一个容器对象,仅是修改对应状态集中的字段,避免了调度及分配网络资源等代价,同时在接收到升级信息时即提前拉取到新镜像备用,极大的提高了数据库组件的升级效率,实现了云平台上分布式数据库的快速升级,而且还可以实现在不影响数据库业务组件正常服务状态下,对监控、日志采集等周边组件版本的升级。
在上述技术方案的基础上,可选的,新容器运行模块43,包括:
旧容器停运单元,用于通过部署在所述目标工作节点上的goldendb-daemonset组件调用所述目标容器的CRI接口停止所述目标容器的运行;
新容器启用单元,用于通过部署在所述目标工作节点上的kubelet组件在监控到所述目标容器停止运行时,通过所述CRI接口创建所述新容器运行。
在上述技术方案的基础上,可选的,该装置还包括:
有状态集创建模块,用于在所述通过部署在主节点上的goldendb-controller组件接收用户的升级请求之前,通过部署在所述主节点上的goldendb-controller组件基于用户请求创建有状态集,以对各个数据库组件进行部署及管理。
在上述技术方案的基础上,可选的,所述升级信息包括容器信息和版本信息。
在上述技术方案的基础上,可选的,镜像更新模块42,包括:
镜像拉取单元,用于根据所述升级信息创建对应的Job以拉取所述新镜像。
在上述技术方案的基础上,可选的,该装置还包括:
升级策略配置模块,用于配置所述分布式数据库的升级策略为快速升级模式或普通升级模式,并在配置为快速升级模式下运行上述装置。
本发明实施例所提供的云原生分布式数据库升级装置可执行本发明任意实施例所提供的云原生分布式数据库升级方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,在上述云原生分布式数据库升级装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例三
图5为本发明实施例三提供的计算机设备的结构示意图,示出了适于用来实现本发明实施方式的示例性计算机设备的框图。图5显示的计算机设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图5所示,该计算机设备包括处理器51、存储器52、输入装置53及输出装置54;计算机设备中处理器51的数量可以是一个或多个,图5中以一个处理器51为例,计算机设备中的处理器51、存储器52、输入装置53及输出装置54可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器52作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的云原生分布式数据库升级方法对应的程序指令/模块(例如,云原生分布式数据库升级装置中的升级请求接收模块41、镜像更新模块42及新容器运行模块43)。处理器51通过运行存储在存储器52中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的云原生分布式数据库升级方法。
存储器52可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器52可进一步包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置53可用于获取用户的升级请求,以及产生与计算机设备的用户设置和功能控制有关的键信号输入等。输出装置54可用于向用户提供应用服务等等。
实施例四
本发明实施例四还提供一种包含计算机可执行指令的存储介质,该计算机可执行指令在由计算机处理器执行时用于执行一种云原生分布式数据库升级方法,该方法包括:
通过部署在主节点上的goldendb-controller组件接收用户的升级请求,并确定需要升级的目标容器所在的目标工作节点;
通过部署在所述目标工作节点上的goldendb-daemonset组件接收所述主节点下发的升级信息,以根据所述升级信息拉取新镜像到所述目标工作节点,并基于所述新镜像对所述目标容器对应的有状态集中的容器镜像信息进行更新;
通过部署在所述目标工作节点上的kubelet组件根据所述新镜像创建新容器运行。
存储介质可以是任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM、兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到计算机系统。第二计算机系统可以提供程序指令给计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的云原生分布式数据库升级方法中的相关操作。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例五
本发明实施例五还提供一种计算机程序产品,该计算机程序产品包括计算机程序(也可以称为代码、指令),该计算机程序可存储于计算机可读存储介质中,当该计算机程序被处理器执行时用于执行上述任意实施例所提供的云原生分布式数据库升级方法,具备执行方法相应的有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种云原生分布式数据库升级方法,其特征在于,所述分布式数据库基于kubernetes所搭建的云环境进行部署,数据库组件以容器方式部署,所述方法包括:
通过部署在主节点上的goldendb-controller组件接收用户的升级请求,并确定需要升级的目标容器所在的目标工作节点;
通过部署在所述目标工作节点上的goldendb-daemonset组件接收所述主节点下发的升级信息,以根据所述升级信息拉取新镜像到所述目标工作节点,并基于所述新镜像对所述目标容器对应的有状态集中的容器镜像信息进行更新;
通过部署在所述目标工作节点上的kubelet组件根据所述新镜像创建新容器运行。
2.根据权利要求1所述的云原生分布式数据库升级方法,其特征在于,所述通过部署在所述目标工作节点上的kubelet组件根据所述新镜像创建新容器运行,包括:
通过部署在所述目标工作节点上的goldendb-daemonset组件调用所述目标容器的CRI接口停止所述目标容器的运行;
通过部署在所述目标工作节点上的kubelet组件在监控到所述目标容器停止运行时,通过所述CRI接口创建所述新容器运行。
3.根据权利要求1所述的云原生分布式数据库升级方法,其特征在于,在所述通过部署在主节点上的goldendb-controller组件接收用户的升级请求之前,还包括:
通过部署在所述主节点上的goldendb-controller组件基于用户请求创建有状态集,以对各个数据库组件进行部署及管理。
4.根据权利要求1所述的云原生分布式数据库升级方法,其特征在于,所述升级信息包括容器信息和版本信息。
5.根据权利要求1所述的云原生分布式数据库升级方法,其特征在于,所述根据所述升级信息拉取新镜像到所述目标工作节点,包括:
根据所述升级信息创建对应的Job以拉取所述新镜像。
6.根据权利要求1-5任一所述的云原生分布式数据库升级方法,其特征在于,所述方法还包括:
配置所述分布式数据库的升级策略为快速升级模式或普通升级模式,并在配置为快速升级模式下执行如权利要求1-5任一所述的云原生分布式数据库升级方法。
7.一种云原生分布式数据库升级装置,其特征在于,所述分布式数据库基于kubernetes所搭建的云环境进行部署,数据库组件以容器方式部署,所述装置包括:
升级请求接收模块,用于通过部署在主节点上的goldendb-controller组件接收用户的升级请求,并确定需要升级的目标容器所在的目标工作节点;
镜像更新模块,用于通过部署在所述目标工作节点上的goldendb-daemonset组件接收所述主节点下发的升级信息,以根据所述升级信息拉取新镜像到所述目标工作节点,并基于所述新镜像对所述目标容器对应的有状态集中的容器镜像信息进行更新;
新容器运行模块,用于通过部署在所述目标工作节点上的kubelet组件根据所述新镜像创建新容器运行。
8.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的云原生分布式数据库升级方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的云原生分布式数据库升级方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-6中任一所述的云原生分布式数据库升级方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411992622.7A CN119902857A (zh) | 2024-12-31 | 2024-12-31 | 云原生分布式数据库升级方法、装置、设备、介质及产品 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411992622.7A CN119902857A (zh) | 2024-12-31 | 2024-12-31 | 云原生分布式数据库升级方法、装置、设备、介质及产品 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN119902857A true CN119902857A (zh) | 2025-04-29 |
Family
ID=95469433
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202411992622.7A Pending CN119902857A (zh) | 2024-12-31 | 2024-12-31 | 云原生分布式数据库升级方法、装置、设备、介质及产品 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN119902857A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120892022A (zh) * | 2025-09-30 | 2025-11-04 | 上海临港新片区数字基建投资发展有限公司 | 一种车路协同应用的开发运维平台及方法 |
-
2024
- 2024-12-31 CN CN202411992622.7A patent/CN119902857A/zh active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120892022A (zh) * | 2025-09-30 | 2025-11-04 | 上海临港新片区数字基建投资发展有限公司 | 一种车路协同应用的开发运维平台及方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11853816B2 (en) | Extending the Kubernetes API in-process | |
| CN113569987B (zh) | 模型训练方法和装置 | |
| KR101574366B1 (ko) | 가상 머신 및 애플리케이션 수명들의 동기화 | |
| RU2429529C2 (ru) | Динамическое конфигурирование, выделение и развертывание вычислительных систем | |
| EP2851799B1 (en) | Fault tolerant batch processing | |
| WO2024077885A1 (zh) | 容器集群的管理方法、装置、设备及非易失性可读存储介质 | |
| JP6514687B2 (ja) | ローカルまたは分散型コンピュータ・システムにおける柔軟なノード構成方法およびシステム | |
| CN112463290A (zh) | 动态调整计算容器的数量的方法、系统、装置和存储介质 | |
| US10310900B2 (en) | Operating programs on a computer cluster | |
| US20090013321A1 (en) | Managing virtual computers | |
| CN117076096B (zh) | 任务流程的执行方法、装置、计算机可读介质及电子设备 | |
| CN114996337A (zh) | 多集群数据库管理系统及方法 | |
| CN114546588A (zh) | 任务的部署方法、装置、存储介质及电子装置 | |
| CN119902857A (zh) | 云原生分布式数据库升级方法、装置、设备、介质及产品 | |
| US12517721B2 (en) | Mechanisms to implement controlled upgrades | |
| US20200133709A1 (en) | System and method for content - application split | |
| CN116243946A (zh) | 一种服务升级的处理方法及系统 | |
| CN114489929B (zh) | 一种容器组的启动方法、装置、电子设备及存储介质 | |
| CN118827685B (zh) | 容器化pxe服务部署系统、方法、设备及存储介质 | |
| CN116028544B (zh) | 基于openstack的定时任务动态添加方法 | |
| US20250245054A1 (en) | End-to-End Orchestration of a Datacenter on a Cloud Platform | |
| US20250244988A1 (en) | Incremental Orchestration of a Datacenter on a Cloud Platform | |
| US20250245055A1 (en) | Automated Retries for Orchestration of a Datacenter on a Cloud Platform | |
| CN115454450B (zh) | 一种针对数据作业的资源管理的方法、装置、电子设备和存储介质 | |
| US20250217135A1 (en) | Intelligent Systems for Autogenerating Disseminated Virtual Environment Setup Using Parallel Mesh Oriented Logical Programming |
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 |