CN117149350A - k8s集群的部署方法、集群快照的生成方法及设备 - Google Patents

k8s集群的部署方法、集群快照的生成方法及设备 Download PDF

Info

Publication number
CN117149350A
CN117149350A CN202311065650.XA CN202311065650A CN117149350A CN 117149350 A CN117149350 A CN 117149350A CN 202311065650 A CN202311065650 A CN 202311065650A CN 117149350 A CN117149350 A CN 117149350A
Authority
CN
China
Prior art keywords
cluster
snapshot
preset
clusters
disk
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
CN202311065650.XA
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.)
Hangzhou Alibaba Feitian Information Technology Co ltd
Original Assignee
Hangzhou Alibaba Feitian Information 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 Hangzhou Alibaba Feitian Information Technology Co ltd filed Critical Hangzhou Alibaba Feitian Information Technology Co ltd
Priority to CN202311065650.XA priority Critical patent/CN117149350A/zh
Publication of CN117149350A publication Critical patent/CN117149350A/zh
Pending legal-status Critical Current

Links

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
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明实施例提供了一种k8s集群的部署方法、集群快照的生成方法及设备。其中,部署方法包括:获取集群快照,集群快照至少包括:预设k8s集群的配置信息、预设k8s集群中节点所对应的磁盘快照;基于集群快照进行集群部署操作,获得目标k8s集群,目标k8s集群与预设k8s集群具有相同的配置信息,目标k8s集群中节点的磁盘数据与预设k8s集群中节点所对应的磁盘快照相对应。本实施例提供的技术方案,在无需重新安装k8s软件的前提下即可实现k8s集群的部署操作,避免了软件安装冗长的自检过程,这样提高了k8s集群的部署速度,缩短了k8s集群部署时所需要的时间,有利于保证用户对k8s集群进行部署的良好体验性。

Description

k8s集群的部署方法、集群快照的生成方法及设备
技术领域
本发明涉及云计算技术领域,尤其涉及一种k8s集群的部署方法、集群快照的生成方法及设备。
背景技术
Kubernetes(简称k8s或者“kube”)是一个开源的容器集群管理平台,可以实现容器应用的自动化部署、自动扩缩容、自动化运维等功能。目前,在Kubernetes集群管理服务需要部署Kubernetes集群时,可以先创建集群的基础设施资源,随后在集群的节点上进行Kubernetes软件的安装,实现了Kubernetes集群的部署操作。
然而,在部署Kubernetes集群时,整个部署流程会消耗较长的时间,使得Kubernetes集群的部署速度较低。
发明内容
本发明实施例提供了一种k8s集群的部署方法、集群快照的生成方法及设备,能够缩短Kubernetes集群部署时所需要的时间,提高Kubernetes集群的部署速度。
第一方面,本发明实施例提供一种k8s集群的部署方法,包括:
获取集群快照,所述集群快照至少包括:预设k8s集群的配置信息、预设k8s集群中节点所对应的磁盘快照;
基于所述集群快照进行集群部署操作,获得目标k8s集群,所述目标k8s集群与所述预设k8s集群具有相同的配置信息,所述目标k8s集群中节点的磁盘数据与预设k8s集群中节点所对应的磁盘快照相对应。
第二方面,本发明实施例提供一种k8s集群的部署装置,包括:
第一获取模块,用于获取集群快照,所述集群快照至少包括:预设k8s集群的配置信息、预设k8s集群中节点所对应的磁盘快照;
第一处理模块,用于基于所述集群快照进行集群部署操作,获得目标k8s集群,所述目标k8s集群与所述预设k8s集群具有相同的配置信息,所述目标k8s集群中节点的磁盘数据与预设k8s集群中节点所对应的磁盘快照相对应。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第一方面中的k8s集群的部署方法。
第四方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第一方面中的k8s集群的部署方法。
第五方面,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行上述第一方面中的k8s集群的部署方法中的步骤。
第六方面,本发明实施例提供了一种集群快照的生成方法,包括:
在云端,获取多个不同的集群预设配置,每个集群预设配置包括:集群设施资源配置、集群软件配置;
基于多个不同的集群预设配置创建多个不同的k8s集群;
生成与多个k8s集群各自对应的多个预设集群快照。
第七方面,本发明实施例提供了一种集群快照的生成装置,包括:
第二获取模块,用于在云端,获取多个不同的集群预设配置,每个集群预设配置包括:集群设施资源配置、集群软件配置;
第二创建模块,用于基于多个不同的集群预设配置创建多个不同的k8s集群;
第二处理模块,用于生成与多个k8s集群各自对应的多个预设集群快照。
第八方面,本发明实施例提供一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第六方面中的集群快照的生成方法。
第九方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第六方面中的集群快照的生成方法。
第十方面,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行上述第六方面中的集群快照的生成方法中的步骤。
本实施例提供的k8s集群的部署方法、集群快照的生成方法及设备,通过获取集群快照,由于集群快照中保存了k8s集群的配置信息以及k8s集群节点上所有磁盘的磁盘快照,因此可以基于集群快照重建一个配置完全相同的k8s集群,获得目标k8s集群,从而在无需重新安装Kubernetes软件的前提下即可实现k8s集群的部署操作,避免了软件安装工具冗长的自检过程,有效地缩短了k8s集群部署时所需要的时间,提高了k8s集群部署的速度,这样不仅有利于保证用户对k8s进行部署操作的良好体验性,并且还能够进一步提高该方法的实用性,有利于市场的推广与应用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术提供的一种部署Kubernetes集群的示意图;
图2为本发明实施例提供的一种k8s集群的部署方法的原理示意图;
图3为本发明实施例提供的一种k8s集群的部署方法的流程示意图;
图4为本发明实施例提供的一种集群快照的生成方法的流程示意图;
图5为本发明应用实施例提供的一种k8s集群的部署方法的原理示意图;
图6为本发明实施例提供的一种k8s集群的部署装置的结构示意图;
图7为与图6所示实施例提供的k8s集群的部署装置对应的电子设备的结构示意图;
图8为本发明实施例提供的一种集群快照的生成装置的结构示意图;
图9为与图8所示实施例提供的集群快照的生成装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
术语定义:
Kubernetes:简称“k8s”或者“kube”,是一个开源的容器集群管理平台,可以实现容器应用的自动化部署、自动扩缩容、自动化运维等功能。
Kubernetes集群:由Kubernetes管理的机器集群,集群中的机器节点能够协同工作以提供高可用性和容错性,从而提升集群中部署应用的可用性。
磁盘快照:一种磁盘数据的备份方式,能够记录特定时刻的磁盘数据状态。磁盘快照可用于恢复现有磁盘的数据,也可用于初始化新磁盘的数据。
基础设施资源:Kubernetes集群中所使用的计算、存储、网络等资源。计算资源用于完成计算任务,例如虚拟机、物理机;存储资源用于存储数据和文件,例如磁盘、对象存储等;网络资源用于管理访问和连接,例如虚拟网络、防火墙等。
节点:Kubernetes集群中的虚拟机或物理机。
为了能够理解本实施例中技术方案的具体实现过程,下面先对相关技术进行简要说明:
随着科学技术的飞速发展,当前的主流云厂商提供了托管式的Kubernetes集群管理服务,通过Kubernetes集群管理服务能够帮助客户完成Kubernetes集群的部署和运维操作,从而能够让客户能够更加专注于应用的研发。在为客户提供Kubernetes集群服务时,可以根据客户配置部署一个或多个相同或者不同的Kubernetes集群。
由于Kubernetes集群包含:基础设施资源和Kubernetes软件,因此,在Kubernetes集群管理服务在部署Kubernetes集群时,需要首先创建集群的基础设施资源,随后在集群的节点上完成Kubernetes软件的安装,具体的,基础设施资源可以包括:预设集群中的计算资源、存储资源、网络资源等等等,例如:Kubernetes集群中的节点属于计算资源;节点上所挂载的磁盘、系统盘、数据盘等属于存储资源,而节点间通信所使用的专有网络属于网络资源;Kubernetes软件可以包括:Kubernetes集群软件、Kubernetes的网络及存储等插件、以及安装并运行Kubernetes所依赖的其他软件,上述的Kubernetes集群软件可以包括:kubelet、kubectl等;Kubernetes所依赖的其他软件可以包括:kubeadm、etcd、docker等,这些软件需要安装在Kubernetes集群的节点上,以确保Kubernetes集群能够稳定地正常工作。
具体的,参考附图1所示,部署Kubernetes集群的过程可以包括:
步骤1:用户可以根据需求指定Kubernetes集群的配置信息。
具体的,用户根据自身需要指定Kubernetes集群的配置信息,其中,配置信息可以包括基础设施资源配置和Kubernetes软件配置;上述的基础设施资源配置可以包括以下至少之一:集群节点的数量及规格、集群各节点上的磁盘配置、集群虚拟网络的网段等;上述的Kubernetes软件配置可以包括所有Kubernetes软件的版本信息以及配置项信息。
步骤2:基于所指定的Kubernetes集群的配置信息创建基础设施资源。
根据用户输入的基础设施资源配置,调用云厂商提供的基础设施资源管理的应用程序编程接口(Application Programming Interface,简称API)创建基础设施资源并等待资源就绪,即通过云厂商服务来创建相对应的基础设施资源。
步骤3:基于所创建的基础设施资源安装Kubernetes软件。
在完成基础设施资源创建之后,还需要根据用户指定的Kubernetes软件版本号,在Kubernetes集群的各节点上完成相应版本Kubernetes软件的安装;其主要可以包括以下步骤:
步骤3.1:在集群的节点上,安装Kubernetes所依赖的软件,如kubeadm、etcd、docker等。
步骤3.2:在安装完Kubernetes所依赖的软件之后,在集群的节点上,安装Kubernetes集群管理平台自身的软件,例如:kubectl、kubelet等。
步骤3.3:控制集群中的第一个节点执行初始化命令,完成Kubernetes节点的初始化。
其中,集群中的第一个节点往往是集群中所出现的第一个主节点(master节点)。
步骤3.4:将其他节点加入到集群中,获得Kubernetes集群。
步骤3.5:安装Kubernetes集群所需要的网络、存储等插件。
步骤3.6:检查Kubernetes集群中各节点、集群软件(包括:Kubernetes集群软件、Kubernetes的网络及存储等插件、以及安装并运行Kubernetes所依赖的其他软件等等)的健康状态,等待集群就绪。
上述过程虽然实现了Kubernetes集群的部署操作,但是Kubernetes软件安装的耗时较长,这对用户体验造成负面影响,其中,导致Kubernetes软件安装的耗时较长的原因主要包括:
(1)安装过程需要将Kubernetes软件的可执行程序、容器镜像、配置文件等内容拷贝到集群的节点上。这些内容是Kubernetes安装和运行所必须的信息,它们需要通过网络从集群外的公共网站或存储服务传输到集群内,而上述的网络传输操作会引入额外的时间开销,延长了Kubernetes集群的部署时间。
(2)Kubernetes集群的安装过程需要在第一个节点完成Kubernetes的初始化之后,将其他节点加入Kubernetes集群。在这两个步骤中,安装工具(例如kubeadm)通常需要进行检查,以确保Kubernetes能够正常工作,其中,检查的内容可以包括:操作系统的版本、网络配置、Kubernetes软件是否正确安装等;而上述的检查过程需要消耗较长的时间。
为了解决上述技术问题,本实施例提供了一种k8s集群的部署方法、集群快照的生成方法及设备,参考附图2所示,该k8s集群的部署方法的执行主体可以为k8s集群的部署装置,具体的,该k8s集群的部署装置可以实现为服务器,k8s集群的部署装置可以通信连接有客户端和云服务平台通信连接,云服务平台能够提供k8s集群的部署服务,具体可以通过对外提供服务接口来实现,用户调用该服务接口以使用相应的服务。服务接口包括软件开发工具包(Software Development Kit,简称SDK)、应用程序接口(Application ProgrammingInterface,简称API)等形式。
具体的,客户端/请求端可以是任何具有一定数据传输能力的计算设备,具体实现时,客户端/请求端可以是手机、个人电脑PC、平板电脑、设定应用程序等等。此外,客户端/请求端的基本结构可以包括:至少一个处理器。处理器的数量取决于客户端/请求端的配置和类型。客户端/请求端也可以包括存储器,该存储器可以为易失性的,例如:随机存取存储器(Random Access Memory,缩写RAM),也可以为非易失性的,例如只读存储器(Read-OnlyMemory,简称ROM)、闪存等,或者也可以同时包括两种类型。存储器内通常存储有操作系统(Operating System,简称OS)、一个或多个应用程序,也可以存储有程序数据等。除了处理单元和存储器之外,客户端/请求端还包括一些基本配置,例如网卡芯片、IO总线、显示组件以及一些外围设备等。可选地,一些外围设备可以包括,例如键盘、鼠标、输入笔、打印机等。其它外围设备在本领域中是众所周知的,在此不做赘述。
k8s集群的部署装置是指可以在网络虚拟环境中提供k8s集群的部署服务的设备,通常是指利用网络进行信息规划、k8s集群的部署操作的装置。在物理实现上,k8s集群的部署装置可以是任何能够提供计算服务,响应服务请求,并进行处理的设备,例如:可以是集群服务器、常规服务器、云服务器、云主机、虚拟中心等。k8s集群的部署装置的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
在上述本实施例中,客户端可以与k8s集群的部署装置进行网络连接,该网络连接可以是无线或有线网络连接。若客户端与k8s集群的部署装置是通信连接,该移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、WiMax、5G、6G等中的任意一种。
在本申请实施例中,客户端可以生成、存储或者获取用于实现集群部署操作的集群部署请求,为了能够实现集群部署操作,可以将所生成的集群部署请求发送至k8s集群的部署装置。
k8s集群的部署装置,用于获取客户端所发送的集群部署请求,在获取到集群部署请求之后,可以基于集群部署请求获取用于实现集群部署操作的集群快照,该集群快照至少包括预设k8s集群的配置信息、预设k8s集群中节点所对应的磁盘快照,上述预设k8s集群的配置信息可以包括:预设k8s集群的基础设施资源信息和预设k8s集群的k8s软件信息,上述的基础设施资源信息可以包括:集群节点的数量及规格、集群各个节点上的磁盘配置、集群虚拟网络的网络配置等等。
需要注意的是,对于集群快照而言,集群快照不仅可以包括上述的预设k8s集群的配置信息、预设k8s集群中节点所对应的磁盘快照,还可以包括集群快照的唯一标识、名称、创建时间等基础信息。预设k8s集群中节点所对应的磁盘快照可以与节点中的系统盘、数据盘相对应,并且,磁盘快照可以包括:k8s集群的所有数据、磁盘快照的唯一标识、磁盘快照与节点上磁盘的映射关系。
在获取到集群快照之后,可以基于集群快照进行集群部署操作,获得目标k8s集群,具体的,所获得的目标k8s集群与预设k8s集群具有相同的配置信息,目标k8s集群中节点的磁盘数据与预设k8s集群中节点所对应的磁盘快照相对应,从而完成了k8s集群的部署操作。
本实施例提供的技术方案,通过获取集群快照,由于集群快照中保存了k8s集群的配置信息以及k8s集群节点上所有磁盘的磁盘快照,因此可以基于集群快照重建一个配置完全相同的k8s集群,获得目标k8s集群,从而在无需重新安装Kubernetes软件的前提下即可实现k8s集群的部署操作,避免了软件安装工具冗长的自检过程,有效地缩短了k8s集群部署时所需要的时间,提高了k8s集群部署的速度,这样不仅有利于保证用户对k8s进行部署操作的良好体验性,并且还能够进一步提高该方法的实用性4。
下面结合附图,对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
图3为本发明实施例提供的一种k8s集群的部署方法的流程示意图;参考附图3所示,本实施例提供了一种k8s集群的部署方法,该方法的执行主体可以为k8s集群的部署装置,可以理解的是,该k8s集群的部署装置可以实现为软件、或者软件和硬件的组合,具体的,在k8s集群的部署装置实现为硬件时,其具体可以是具有k8s集群的部署操作的各种电子设备,包括但不限于平板电脑、个人电脑PC、服务器等等。当k8s集群的部署装置实现为软件时,其可以安装在上述所例举的电子设备中。基于上述的k8s集群的部署装置,本实施例中的k8s集群的部署方法可以包括以下步骤:
步骤S301:获取集群快照,集群快照至少包括:预设k8s集群的配置信息、预设k8s集群中节点所对应的磁盘快照。
步骤S302:基于集群快照进行集群部署操作,获得目标k8s集群,目标k8s集群与预设k8s集群具有相同的配置信息,目标k8s集群中节点的磁盘数据与预设k8s集群中节点所对应的磁盘快照相对应。
下面对上述各个步骤的具体实现原理和实现效果进行详细说明:
步骤S301:获取集群快照,集群快照至少包括:预设k8s集群的配置信息、预设k8s集群中节点所对应的磁盘快照。
在用户存在集群部署请求时,k8s集群的部署装置可以获取到用于实现集群部署操作的集群快照,该集群快照可以是指集群部署操作所需要的信息集合,即集群快照是与k8s集群维度相对应的快照信息,集群快照应用于k8s集群的应用场景。具体的,集群快照至少可以包括:预设k8s集群的配置信息、预设k8s集群中节点所对应的磁盘快照;上述的预设k8s集群的配置信息可以包括以下至少之一:基础设施资源信息和k8s软件信息;基础设施资源信息可以包括:集群节点的数量及规格、集群各个节点上的磁盘配置、集群虚拟网络的网络配置等等;预设k8s集群中节点所对应的磁盘快照可以是指与系统盘、数据盘相对应的磁盘快照,磁盘快照可以包括以下至少之一:k8s集群的所有数据、磁盘快照的唯一标识、磁盘快照与节点上磁盘的映射关系。
对于集群快照而言,集群快照不仅可以包括预设k8s集群的配置信息、预设k8s集群中节点所对应的磁盘快照,还可以包括其他信息,例如:集群快照可以包括集群快照的唯一标识、名称、创建时间等基础信息。对于预设k8s集群而言,预设k8s集群中的节点可以包括以下至少之一:虚拟机、物理机等等,其中,节点可以包括主节点(master节点)和运行节点(worker节点)两种类型,不同类型的节点所安装的软件可以不同,且在集群中每个节点都是独立且唯一的,因此,不同类型的节点所对应的磁盘快照不同,同一类型的不同节点所对应的磁盘快照不同。
另外,本实施例对于集群快照的具体获取方式不做限定,在一些实例中,集群快照可以通过用户的人机交互操作在多个预设集群快照中进行选择来获得,此时,获取集群快照可以包括:获取用于部署多个不同的k8s集群的多个预设集群快照;响应于用户对至少一个预设集群快照所输入的选择操作,在多个预设集群快照中确定集群快照。
其中,为了能够稳定地对集群快照进行获取操作,可以先获取用于部署多个不同的k8s集群的多个预设集群快照,在一些实例中,多个预设集群快照可以是预先生成的、并存储在预设区域或者预设设备中,此时,通过访问预设区域或者预设设备即可获取用于部署多个不同的k8s集群的多个预设集群快照。
在另一些实例中,多个预设集群快照不仅可以是预先生成的,还可以是基于当前创建的多个不同的k8s集群或者预先创建的多个不同的k8s集群实时生成的,此时,获取用于部署多个不同的k8s集群的多个预设集群快照可以包括:在云端,获取多个不同的集群预设配置,每个集群预设配置包括:集群设施资源配置、集群软件配置;基于多个不同的集群预设配置创建多个不同的k8s集群;生成与多个k8s集群各自对应的多个预设集群快照。
其中,为了能够准确地获取到多个预设k8s集群快照,可以预先部署多个不同的k8s集群,具体的,可以在云端获取多个不同的集群预设配置,每个集群预设配置可以包括:集群设施资源配置、集群软件配置,上述的集群设置资源配置可以认为是用于实现集群部署操作的基础设施资源,该集群设施资源配置可以包括以下至少之一:预设k8s集群中的集群节点的数量及规格、预设k8s集群中的集群各节点上的磁盘配置、集群虚拟网络的网段信息等等;集群软件配置可以包括:预设k8s集群中的所有Kubernetes软件的版本信息等等。
由于k8s集群的配置可以有成千上百种,即所能够获取的集群预设配置也可以为成千上百种,为了能够提高集群快照获取的质量和效率,多个不同的集群预设配置可以基于用户使用的频率、用户的需求度来确定,此时,获取多个不同的集群预设配置可以包括:获取所有的备用集群预设配置,确定每个备用集群预设配置的使用频率,基于每个备用集群预设配置的使用频率对所有的备用集群预设配置进行排序,将排序后的前N个备用集群预设配置确定为多个不同的集群预设配置,从而有效地保证了对多个不同的集群预设配置进行获取的准确可靠性。
在获取到多个不同的集群预设配置之后,可以基于多个不同的集群预设配置创建多个不同的k8s集群;具体的,多个不同的k8s集群可以通过预设算法或者预先训练好的机器学习模型对多个不同的集群预设配置进行分析处理所获得。在创建多个不同的k8s集群之后,可以针对多个不同的k8s集群生成多个k8s集群各自对应的多个预设集群快照,从而有效地保证了对多个预设集群快照进行获取的准确可靠性。
在又一些实例中,在生成与多个k8s集群各自对应的多个预设集群快照之后,为了提高数据资源的利用率,本实施例中的方法还可以包括:删除在云端所创建的多个不同的k8s集群,并释放创建多个不同k8s集群时所需要的集群设施资源,从而有效地降低了集群设施资源所需要占用的空间区域,进一步提高了该方法的实用性。
步骤S302:基于集群快照进行集群部署操作,获得目标k8s集群,目标k8s集群与预设k8s集群具有相同的配置信息,目标k8s集群中节点的磁盘数据与预设k8s集群中节点所对应的磁盘快照相对应。
由于集群快照包括k8s集群部署操作时所需要的相关配置信息,因此,在获取到集群快照之后,可以基于集群快照进行集群部署操作,获得目标k8s集群,在一些实例中,集群部署操作可以通过预先训练好的机器学习模型来实现,此时,基于集群快照进行集群部署操作,获得目标k8s集群可以包括:获取预先训练好的机器学习模型,将集群快照输入至机器学习模型中,获得机器学习模型所输出的目标k8s集群。
在另一些实例中,不仅可以通过预先训练好的机器学习模型来实现集群部署操作,还能够通过创建集群节点和存储组件来实现集群部署操作,此时,基于集群快照进行集群部署操作,获得目标k8s集群可以包括:基于集群快照,创建集群节点以及与集群节点相对应的存储组件,存储组件中包括与磁盘快照相对应的数据;启动集群节点,读取存储组件中存储的数据,获得目标k8s集群。
其中,在获取到集群快照之后,可以基于集群快照创建集群节点以及与集群节点相对应的存储组件,在一些实例中,基于集群快照,创建集群节点以及与集群节点相对应的存储组件可以包括:基于集群快照中的预设k8s集群的配置信息,创建集群节点;确定与集群节点相对应的目标磁盘快照;基于目标磁盘快照初始化集群节点所对应的存储组件,存储组件中包括与目标磁盘快照相对应的所有数据。
由于一个k8s集群中可以包括多个相同或者不同的集群节点,不同的集群节点所对应的配置信息不同,因此,为了能够稳定地实现集群部署操作,在获取到集群快照之后,可以基于集群快照中的预设k8s集群的配置信息创建集群节点,具体的,可以基于集群快照中所包括的集群节点的数量以及规格来创建集群节点。
另外,对于所创建的集群节点而言,每个集群节点可以对应有一个或多个磁盘快照,为了完成集群部署操作,在创建完集群节点之后,可以确定与集群节点相对应的目标磁盘快照,上述的集群节点所对应的目标磁盘快照的数量可以为一个或多个。在获取到集群快照之后,可以基于所生成的集群节点以及与集群节点相对应的映射关系来确定与集群节点相对应的目标磁盘快照,在确定与集群节点相对应的目标磁盘快照之后,可以基于目标磁盘快照初始化集群节点所对应的存储组件,该存储组件可以实现为以下至少之一:系统盘、数据盘、磁盘等等,需要注意的是,经过初始化操作的存储组件中可以包括与目标磁盘快照相对应的所有数据,上述的所有数据可以包括:集群节点上的操作系统、Kubernetes软件的可执行程序、容器镜像、配置、运行时数据等等,由于目标磁盘快照中包括k8s集群的所有数据信息,在基于目标磁盘快照创建完存储组件之后,通过启动集群节点、读取存储组件中存储的数据即可实现k8s集群的部署操作,并可以稳定地获得目标k8s集群;需要注意的是,目标k8s集群与预设k8s集群具有相同的配置信息,目标k8s集群中的节点与预设k8s集群中的节点相同,目标k8s集群中节点的磁盘数据与预设k8s集群中节点所对应的磁盘快照相对应,从而有效地完成了集群部署操作。
在一些实例中,k8s集群不仅可以通过创建集群节点和存储组件来实现集群的部署操作,还可以通过预设算法或者预先训练好的机器学习模型来实现集群部署操作,这样同样可以获得目标k8s集群。
在另一些实例中,在启动集群节点之后,由于集群节点可能处于正常状态,也可能处于异常状态,为了保证集群部署的稳定可靠性,本实施例中的方法还可以包括:周期性地检查各个集群节点以及部署在各个集群节点上集群软件的运行状态;在所有的集群节点以及集群软件的运行状态为健康状态时,则允许获得目标k8s集群。
对于集群软件和集群节点而言,由于集群软件的运行状态可能与集群节点的运行状态不相关,因此,在启动集群节点之后,可以周期性地检查各个集群节点以及部署在各个集群节点上集群软件(包括:Kubernetes集群软件、Kubernetes的网络及存储等插件、以及安装并运行Kubernetes所依赖的其他软件等等)的运行状态,具体的,可以通过预设算法对集群节点以及部署在各个集群节点上集群软件进行状态检测操作,从而可以获得各个集群节点以及部署在各个集群节点上集群软件的运行状态,在所有的集群节点以及部署在集群节点上的所有集群软件的运行状态为健康状态时,则说明所部署的k8s集群已经准备就绪,进而可以获得目标k8s集群。
相对应的,当存在集群节点或者集群软件的运行状态为异常状态时,或者,在周期性检查一段时间之后,集群节点或者集群软件的运行状态依然处于异常状态时,则说明所部署的k8s集群未准备就绪,而后可以重新进行集群节点以及集群软件的创建操作,即重新进行k8s集群的部署操作,以获得新的目标k8s集群,这样有效地保证了对目标k8s集群进行部署的质量和效率。
本实施例提供的k8s集群的部署方法,通过获取集群快照,由于集群快照中保存了k8s集群的配置信息以及k8s集群节点上所有磁盘的磁盘快照,因此可以基于集群快照重建一个配置完全相同的k8s集群,获得目标k8s集群,从而在无需重新安装Kubernetes软件的前提下即可实现k8s集群的部署操作,避免了软件安装工具冗长的自检过程,有效地缩短了k8s集群部署时所需要的时间,提高了k8s集群部署的速度,这样不仅有利于保证用户对k8s进行部署操作的良好体验性,并且还能够进一步提高该方法的实用性,有利于市场的推广与应用。
图4为本发明实施例提供的一种集群快照的生成方法的流程示意图;参考附图4所示,本实施例提供了一种集群快照的生成方法,该方法的执行主体可以为集群快照的生成装置,可以理解的是,该集群快照的生成装置可以实现为软件、或者软件和硬件的组合,具体的,在集群快照的生成装置实现为硬件时,其具体可以是具有集群快照的生成操作的各种电子设备,包括但不限于平板电脑、个人电脑PC、服务器等等。当集群快照的生成装置实现为软件时,其可以安装在上述所例举的电子设备中。基于上述的集群快照的生成装置,本实施例中的集群快照的生成方法可以包括以下步骤:
步骤S401:在云端,获取多个不同的集群预设配置,每个集群预设配置包括:集群设施资源配置、集群软件配置。
步骤S402:基于多个不同的集群预设配置创建多个不同的k8s集群。
步骤S403:生成与多个k8s集群各自对应的多个预设集群快照。
在另一些实例中,在生成与多个k8s集群各自对应的多个预设集群快照之后,本实施例中的方法还可以包括:删除在云端所创建的多个不同的k8s集群,并释放创建多个不同的k8s集群时所需要的所有设施资源。
本实施例中上述步骤的具体实现方式、实现原理和实现效果与上述实施例中的关于预设集群快照的具体生成方式、实现原理和实现效果相类似,具体可参考上述图3所示实施例的方法,本实施例未详细描述的部分,可参考对图3所示实施例的相关说明。该技术方案的执行过程和技术效果参见图3所示实施例中的描述,在此不再赘述。
具体应用时,参考附图5所示,本应用实施例提供了一种Kubernetes集群的部署方法,该部署方法能够基于预先制作的Kubernetes集群快照完成Kubernetes集群的部署操作,具体的,在进行集群部署操作之前,可以为预设配置的Kubernetes集群制作集群快照,该过程不会占用用户实际部署Kubernetes集群的时间;当创建Kubernetes集群时,可以基于满足用户需求的集群快照完成Kubernetes集群的部署操作,进而实现了可以基于一个Kubernetes集群快照部署任意数量配置相同的Kubernetes集群,这样不仅能够提升Kubernetes集群的部署效率,并且还能够提升用户的体验性。
由上可知,Kubernetes集群的部署方法包括:制作Kubernetes集群快照的过程和部署Kubernetes集群的过程,下面分别对上述两个过程进行详细说明,具体的,制作Kubernetes集群快照的过程可以包括以下步骤:
步骤S11:输入一系列Kubernetes的预设配置。
其中,Kubernetes集群管理服务的运维人员可以在Kubernetes集群管理服务平台输入一系列Kubernetes的预设配置,而后在一系列的Kubernetes集群预设配置中指定Kubernetes集群快照的配置信息,以可以基于所指定的Kubernetes集群快照的配置信息制作相对应的Kubernetes集群快照,Kubernetes集群预设配置是多样化的,这样能够满足不同客户的Kubernetes集群需求。具体的,在用户针对某个特定的配置信息存在Kubernetes集群的部署需求时,则可以获得指定的Kubernetes集群快照的配置信息,该配置信息可以包括以下两部分:
(1)基础设施资源配置,包括所有基础设施资源的配置信息,例如,集群节点的数量及规格、集群各节点上的磁盘配置、集群虚拟网络的网段等信息。
(2)Kubernetes软件配置,包括所有Kubernetes软件的版本信息以及配置项信息。
需要注意的是,在一系列的Kubernetes集群预设配置中不存在满足集群部署需求的配置信息时,则可以通过现有的相关方式来创建Kubernetes集群。
步骤S12:基于所指定的Kubernetes集群快照的配置信息来创建基础设施资源。
具体的,可以根据所指定的基础设置资源配置,通过云厂商基础设施服务平台的基础设施资源管理API创建基础设施资源并等待资源就绪。
步骤S13:在完成基础设施资源创建完毕之后,可以基于所创建的基础设施资源安装Kubernetes软件,完成Kubernetes集群的创建操作。
具体的,在完成基础设施资源创建之后,可以根据所指定的配置信息中包括的Kubernetes软件版本号在Kubernetes集群的各节点上,完成相应版本Kubernetes软件的安装。
步骤S14:针对部署完毕后的Kubernetes集群生成并保存相对应的Kubernetes集群快照。
其中,Kubernetes集群快照用于记录Kubernetes集群的元数据,具体的,记录Kubernetes集群快照包括以下几部分数据:
(1)集群快照的唯一标识、名称、创建时间等基础信息,这些数据可以保存在预设数据库中。
(2)Kuberentes集群的配置信息,包括:基础设施资源信息和Kuberenetes软件配置信息。基础设施资源信息涵盖了Kubernetes集群所有基础设施资源的配置信息,例如:集群节点的数量及规格、集群各节点上的磁盘配置、集群虚拟网络的网段等信息;Kuberenetes软件配置信息包含集群中所有Kubernetes软件的版本信息以及配置项信息,上述数据也可以保存在预设数据库中。
(3)Kubernetes集群节点的磁盘快照:通过云厂商的基础资源管理API为集群中各节点的系统盘、数据盘创建磁盘快照。Kubernetes集群中的所有数据(包括节点上的操作系统、Kubernetes软件的可执行程序、容器镜像、配置、运行时数据等)都可以存储在集群节点的磁盘上,因此,磁盘快照中包含了Kubernetes集群的所有数据信息,磁盘快照的数据是由云厂商的基础资源管理系统维护的;而云服务商提供的磁盘快照的唯一标识、磁盘快照与集群节点上磁盘的映射关系(磁盘快照所对应的节点及磁盘)则保存在数据库中,这样在进行Kubernetes集群部署的过程中,可以通过磁盘快照的唯一标识以及磁盘快照与集群节点上磁盘的映射关系来确定与集群节点相对应的至少一个磁盘快照。
步骤S15:删除所创建的Kubernetes集群。
在Kubernetes集群快照制作完成之后,可以删除之前所创建的Kubernetes集群,并可以通过调用云厂商的基础资源管理API将所有的基础设施资源释放,具体的,Kubernetes集群管理服务平台可以向云厂商基础设施服务平台发送相关指令,以通过调用云厂商基础设施服务平台的API来释放基础设施资源,这样可以减少基础设施资源所需要占用的空间区域,提高基础设施资源的利用率。
进一步的,基于Kubernetes集群快照进行Kubernetes集群部署的过程可以包括以下步骤:
步骤S21:指定用于实现Kubernetes集群部署操作的Kubernetes集群快照。
用户查询已有的Kubernetes集群快照,已有的Kubernetes集群快照的数量可以为多个,根据已有的Kubernetes集群快照中所包含的Kubernetes集群配置信息,指定满足需求的、用于实现Kubernetes集群部署操作的Kubernetes集群快照。
步骤S22:基于Kubernetes集群快照创建基础设施资源。
根据用户选择的Kubernetes集群快照中记录的基础资源配置信息,调用云厂商的基础设施资源管理API创建基础设施资源,并等待资源就绪。在创建基础设施资源时,需要遵循以下配置:
(1)基础设施资源的配置和Kubernetes集群快照中所记录的配置是完全一致的,例如,对于Kubernetes集群快照中的第一个master节点M,需要创建资源配置完全一致的节点M’,作为当前集群的第一个master节点;或者,在已选择的Kubernetes集群快照中所记录的配置中包括集群节点A、集群节点B、集群节点C、集群节点D、集群节点F时,而后可以创建具有同样5个集群节点的基础设施资源,即分别为集群节点A’、集群节点B’、集群节点C’、集群节点D’、集群节点F’。
(2)针对所创建的集群节点创建相对应的磁盘,在创建磁盘时,可以根据用户选择的Kubernetes集群快照中记录的磁盘快照信息初始化集群节点所对应的磁盘。具体地,根据数据库中所记录的磁盘快照与集群节点上磁盘的映射关系,将磁盘快照的数据初始化到对应集群节点的磁盘上。例如:集群快照中的第一个master节点M的第一块磁盘MD的磁盘快照会被用于初始化当前集群第一个master节点M’的一块磁盘M’D。
步骤S23:恢复Kubernetes软件。
在基于Kubernetes集群快照初始化节点磁盘之后,Kubernetes集群快照相关的所有数据(包括节点上的操作系统、Kubernetes软件的可执行程序、容器镜像、配置、运行时数据等)都已初始化到集群节点的磁盘上,这样在重启节点之后,Kubernetes软件将自动重启,并可以读取磁盘上的配置和运行时数据以恢复Kubernetes软件,从而恢复正常工作。
步骤S24:在重启Kubernetes集群节点之后,可以周期性地检查Kubernetes集群中各集群节点、Kubernetes软件的健康状态,直至Kubernetes集群就绪。
本应用实施例提供的技术方案,由于Kubernetes集群快照的制作是由云服务商或用户预先完成的,这样并不会占用Kubernetes集群实际部署的时间;具体的,在Kubernetes集群部署的过程中,将现有技术中关于Kubernetes软件的安装操作简化为Kubernetes软件的恢复操作,这样无需重新安装Kubernetes软件,避免了软件安装工具冗长的自检过程;另外,在基于Kubernetes集群快照创建基础设施资源时,节点中的磁盘数据是基于集群快照中所包括的磁盘快照进行初始化的,因此在基础设施资源创建完成后,Kubernetes软件的可执行程序、容器镜像、配置文件等数据均已经保存在集群节点所对应的磁盘上,这些内容无需再从集群外部的公共网站或存储服务传输到集群内,从而避免了网络传输带来的额外时间开销,进一步提升了Kubernetes集群的部署效率,有利于提升用户良好的体验性。
图6为本发明实施例提供的一种k8s集群的部署装置的结构示意图,参考附图6所示,本实施例提供了一种k8s集群的部署装置,该k8s集群的部署装置用于执行上述图2所示的k8s集群的部署方法,具体的,该k8s集群的部署装置可以包括:
第一获取模块11,用于获取集群快照,集群快照至少包括:预设k8s集群的配置信息、预设k8s集群中节点所对应的磁盘快照;
第一处理模块12,用于基于集群快照进行集群部署操作,获得目标k8s集群,目标k8s集群与预设k8s集群具有相同的配置信息,目标k8s集群中节点的磁盘数据与预设k8s集群中节点所对应的磁盘快照相对应。
在一些实例中,在第一获取模块11获取集群快照时,该第一获取模块11用于执行:获取用于部署多个不同的k8s集群的多个预设集群快照;响应于用户对至少一个预设集群快照所输入的选择操作,在多个预设集群快照中确定集群快照。
在一些实例中,在第一获取模块11获取用于部署多个不同的k8s集群的多个预设集群快照时,该第一获取模块11用于执行:在云端,获取多个不同的集群预设配置,每个集群预设配置包括:集群设施资源配置、集群软件配置;基于多个不同的集群预设配置创建多个不同的k8s集群;生成与多个k8s集群各自对应的多个预设集群快照。
在一些实例中,在生成与多个k8s集群各自对应的多个预设集群快照之后,本实施例中的第一处理模块12用于执行:删除在云端所创建的多个不同的k8s集群,并释放创建多个不同的k8s集群时所需要的集群设施资源。
在一些实例中,在第一处理模块12基于集群快照进行集群部署操作,获得目标k8s集群时,该第一处理模块12用于执行:基于集群快照,创建集群节点以及与集群节点相对应的存储组件,存储组件中包括与磁盘快照相对应的数据;启动集群节点,读取存储组件中存储的数据,获得目标k8s集群。
在一些实例中,在第一处理模块12基于集群快照,创建集群节点以及与集群节点相对应的存储组件时,该第一处理模块12用于执行:基于集群快照中的预设k8s集群的配置信息,创建集群节点;确定与集群节点相对应的目标磁盘快照;基于目标磁盘快照初始化集群节点所对应的存储组件,存储组件中包括与目标磁盘快照相对应的所有数据。
在一些实例中,在启动集群节点之后,本实施例中的第一处理模块12用于执行:周期性地检查各个集群节点以及部署在各个集群节点上集群软件的运行状态;在所有的集群节点以及集群软件的运行状态为健康状态时,则允许获得目标k8s集群。
图6所示装置可以执行图1-图3、图5所示实施例的方法,本实施例未详细描述的部分,可参考对图1-图3、图5所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1-图3、图5所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图6所示k8s集群的部署装置的结构可实现为一电子设备,该电子设备可以是控制器、个人电脑、服务器等各种设备。如图7所示,该电子设备可以包括:第一处理器21和第一存储器22。其中,第一存储器22用于存储相对应电子设备执行上述图1-图3、图5所示实施例中提供的k8s集群的部署方法的程序,第一处理器21被配置为用于执行第一存储器22中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第一处理器21执行时能够实现如下步骤:获取集群快照,集群快照至少包括:预设k8s集群的配置信息、预设k8s集群中节点所对应的磁盘快照;基于集群快照进行集群部署操作,获得目标k8s集群,目标k8s集群与预设k8s集群具有相同的配置信息,目标k8s集群中节点的磁盘数据与预设k8s集群中节点所对应的磁盘快照相对应。
进一步的,第一处理器21还用于执行前述图1-图3、图5所示实施例中的全部或部分步骤。
其中,电子设备的结构中还可以包括第一通信接口23,用于电子设备与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图1-图3、图5所示实施例中k8s集群的部署方法所涉及的程序。
此外,本发明实施例提供了一种计算机程序产品,包括:存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述图1-图3、图5所示方法实施例中k8s集群的部署方法中的步骤。
图8为本发明实施例提供的一种集群快照的生成装置的结构示意图;参考附图8所示,本实施例提供了一种集群快照的生成装置,该集群快照的生成装置用于执行上述图4所示的集群快照的生成方法,具体的,该集群快照的生成装置可以包括:
第二获取模块31,用于在云端,获取多个不同的集群预设配置,每个集群预设配置包括:集群设施资源配置、集群软件配置;
第二创建模块32,用于基于多个不同的集群预设配置创建多个不同的k8s集群;
第二处理模块33,用于生成与多个k8s集群各自对应的多个预设集群快照。
在一些实例中,在生成与多个k8s集群各自对应的多个预设集群快照之后,本实施例中的第二处理模块33用于执行:删除在云端所创建的多个不同的k8s集群,并释放创建多个不同的k8s集群时所需要的所有设施资源。
图8所示装置可以执行图4-图5所示实施例的方法,本实施例未详细描述的部分,可参考对图4-图5所示实施例的相关说明。该技术方案的执行过程和技术效果参见图4-图5所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图8所示集群快照的生成装置的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、服务器等各种设备。如图9所示,该电子设备可以包括:第二处理器41和第二存储器42。其中,第二存储器42用于存储相对应电子设备执行上述图4-图5所示实施例中提供的集群快照的生成方法的程序,第二处理器41被配置为用于执行第二存储器42中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第二处理器41执行时能够实现如下步骤:在云端,获取多个不同的集群预设配置,每个集群预设配置包括:集群设施资源配置、集群软件配置;基于多个不同的集群预设配置创建多个不同的k8s集群;生成与多个k8s集群各自对应的多个预设集群快照。
进一步的,第二处理器41还用于执行前述图4-图5所示实施例中的全部或部分步骤。
其中,电子设备的结构中还可以包括第二通信接口43,用于电子设备与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图4-图5所示方法实施例中集群快照的生成方法所涉及的程序。
此外,本发明实施例提供了一种计算机程序产品,包括:存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述图4-图5所示方法实施例中集群快照的生成方法中的步骤。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种k8s集群的部署方法,其特征在于,包括:
获取集群快照,所述集群快照至少包括:预设k8s集群的配置信息、预设k8s集群中节点所对应的磁盘快照;
基于所述集群快照进行集群部署操作,获得目标k8s集群,所述目标k8s集群与所述预设k8s集群具有相同的配置信息,所述目标k8s集群中节点的磁盘数据与预设k8s集群中节点所对应的磁盘快照相对应。
2.根据权利要求1所述的方法,其特征在于,获取集群快照,包括:
获取用于部署多个不同的k8s集群的多个预设集群快照;
响应于用户对至少一个预设集群快照所输入的选择操作,在多个预设集群快照中确定所述集群快照。
3.根据权利要求2所述的方法,其特征在于,获取用于部署多个不同的k8s集群的多个预设集群快照,包括:
在云端,获取多个不同的集群预设配置,每个集群预设配置包括:集群设施资源配置、集群软件配置;
基于多个不同的集群预设配置创建多个不同的k8s集群;
生成与多个k8s集群各自对应的多个预设集群快照。
4.根据权利要求3所述的方法,其特征在于,在生成与多个k8s集群各自对应的多个预设集群快照之后,所述方法还包括:
删除在云端所创建的多个不同的k8s集群,并释放创建多个不同的k8s集群时所需要的集群设施资源。
5.根据权利要求1所述的方法,其特征在于,基于所述集群快照进行集群部署操作,获得目标k8s集群,包括:
基于所述集群快照,创建集群节点以及与所述集群节点相对应的存储组件,所述存储组件中包括与所述磁盘快照相对应的数据;
启动所述集群节点,读取所述存储组件中存储的数据,获得目标k8s集群。
6.根据权利要求5所述的方法,其特征在于,基于所述集群快照,创建集群节点以及与所述集群节点相对应的存储组件,包括:
基于所述集群快照中的预设k8s集群的配置信息,创建集群节点;
确定与所述集群节点相对应的目标磁盘快照;
基于所述目标磁盘快照初始化所述集群节点所对应的存储组件,所述存储组件中包括与所述目标磁盘快照相对应的所有数据。
7.根据权利要求5所述的方法,其特征在于,在启动所述集群节点之后,所述方法还包括:
周期性地检查各个集群节点以及部署在各个集群节点上集群软件的运行状态;
在所有的集群节点以及集群软件的运行状态为健康状态时,则允许获得所述目标k8s集群。
8.一种集群快照的生成方法,其特征在于,包括:
在云端,获取多个不同的集群预设配置,每个集群预设配置包括:集群设施资源配置、集群软件配置;
基于多个不同的集群预设配置创建多个不同的k8s集群;
生成与多个k8s集群各自对应的多个预设集群快照。
9.根据权利要求8所述的方法,其特征在于,在生成与多个k8s集群各自对应的多个预设集群快照之后,所述方法还包括:
删除在云端所创建的多个不同的k8s集群,并释放创建多个不同的k8s集群时所需要的所有设施资源。
10.一种k8s集群的部署装置,其特征在于,包括:
第一获取模块,用于获取集群快照,所述集群快照至少包括:预设k8s集群的配置信息、预设k8s集群中节点所对应的磁盘快照;
第一处理模块,用于基于所述集群快照进行集群部署操作,获得目标k8s集群,所述目标k8s集群与所述预设k8s集群具有相同的配置信息,所述目标k8s集群中节点的磁盘数据与预设k8s集群中节点所对应的磁盘快照相对应。
11.一种集群快照的生成装置,其特征在于,包括:
第二获取模块,用于在云端,获取多个不同的集群预设配置,每个集群预设配置包括:集群设施资源配置、集群软件配置;
第二创建模块,用于基于多个不同的集群预设配置创建多个不同的k8s集群;
第二处理模块,用于生成与多个k8s集群各自对应的多个预设集群快照。
12.一种电子设备,其特征在于,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述权利要求1-9中任意一项的方法。
CN202311065650.XA 2023-08-22 2023-08-22 k8s集群的部署方法、集群快照的生成方法及设备 Pending CN117149350A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311065650.XA CN117149350A (zh) 2023-08-22 2023-08-22 k8s集群的部署方法、集群快照的生成方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311065650.XA CN117149350A (zh) 2023-08-22 2023-08-22 k8s集群的部署方法、集群快照的生成方法及设备

Publications (1)

Publication Number Publication Date
CN117149350A true CN117149350A (zh) 2023-12-01

Family

ID=88903729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311065650.XA Pending CN117149350A (zh) 2023-08-22 2023-08-22 k8s集群的部署方法、集群快照的生成方法及设备

Country Status (1)

Country Link
CN (1) CN117149350A (zh)

Similar Documents

Publication Publication Date Title
EP3686739B1 (en) Method and system for enabling agentless backup and restore operations on a container orchestration platform
US10237118B2 (en) Efficient application build/deployment for distributed container cloud platform
US11321130B2 (en) Container orchestration in decentralized network computing environments
RU2429529C2 (ru) Динамическое конфигурирование, выделение и развертывание вычислительных систем
US9851989B2 (en) Methods and apparatus to manage virtual machines
US8332496B2 (en) Provisioning of operating environments on a server in a networked environment
CN101840346B (zh) 云主机部署的方法及系统
US20180095840A1 (en) Reducing recovery time in disaster recovery/replication setup with multitier backend storage
US10977167B2 (en) Application monitoring with a decoupled monitoring tool
US9535754B1 (en) Dynamic provisioning of computing resources
JP2009116859A (ja) 1つ以上の仮想マシンをマイグレートするシステムおよび方法
CN113032085A (zh) 云操作系统的管理方法、装置、服务器、管理系统及介质
CN103562904A (zh) 在服务的次要位置重放作业
US9959157B1 (en) Computing instance migration
US10223218B2 (en) Disaster recovery of managed systems
CN111124286A (zh) 一种基于Libcloud的多云管理实现方法
US20160062754A1 (en) Coordinating Application Deployment with a Platform Tier
CN111104201A (zh) 系统迁移方法和装置、电子设备、存储介质
US20210019171A1 (en) Physical-to-virtual migration method and apparatus, and storage medium
US9971589B2 (en) Upgrade management for a shared pool of configurable computing resources
US10175886B1 (en) Systems and methods for handling missing storage image layers while provisioning containers in computer clusters
CN109120674B (zh) 大数据平台的部署方法及装置
CN117149350A (zh) k8s集群的部署方法、集群快照的生成方法及设备
CN118056183A (zh) 优化即时编译过程
EP3387533B1 (en) Disaster recovery of cloud resources

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 553, 5th Floor, Building 3, No. 969 Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province, 311100

Applicant after: Hangzhou Alibaba Cloud Feitian Information Technology Co.,Ltd.

Address before: Room 553, 5th Floor, Building 3, No. 969 Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province, 311100

Applicant before: Hangzhou Alibaba Feitian Information Technology Co.,Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination