CN112905337B - 软硬件混合部署的MySQL集群调度方法及装置 - Google Patents

软硬件混合部署的MySQL集群调度方法及装置 Download PDF

Info

Publication number
CN112905337B
CN112905337B CN202110168880.3A CN202110168880A CN112905337B CN 112905337 B CN112905337 B CN 112905337B CN 202110168880 A CN202110168880 A CN 202110168880A CN 112905337 B CN112905337 B CN 112905337B
Authority
CN
China
Prior art keywords
information
software
host
mysql
hardware
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.)
Active
Application number
CN202110168880.3A
Other languages
English (en)
Other versions
CN112905337A (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110168880.3A priority Critical patent/CN112905337B/zh
Publication of CN112905337A publication Critical patent/CN112905337A/zh
Application granted granted Critical
Publication of CN112905337B publication Critical patent/CN112905337B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供一种软硬件混合部署的MySQL集群调度方法及装置,可用于云计算技术领域,方法包括获取容器创建请求对应的镜像以及目标参数信息;根据目标参数信息对软硬件混合部署的MySQL集群中各个宿主机的参数标签分别进行匹配,以选取得到目标宿主机,参数标签为预先对宿主机的软硬件信息进行探测后自动生成的;向目标宿主机发送容器调度指令,以使该目标宿主机创建并运行对应容器,并基于该容器向容器创建请求的发出方提供服务。本申请能够将各种类型的宿主机无差别地纳管入MySQL集群,且能够有效提高多种软硬件混合部署的MySQL集群的调度自动化程度及智能化程度,并能够降低资源浪费及运维成本。

Description

软硬件混合部署的MySQL集群调度方法及装置
技术领域
本申请涉及数据处理技术领域,特别涉及云计算技术领域,具体涉及软硬件混合部署的MySQL集群调度方法及装置。
背景技术
随着云计算技术的不断发展,各应用的数据量高速增长,依靠传统主机方式部署数据库的工作量成倍提高;数据库入云后,还可以具备弹性伸缩、快速恢复的能力,具备多种容灾方案,为数据安全提供更高的保障。MySQL作为全球深受欢迎的开源数据库,成为入云数据库的首选。MySQL数据库集群在整个应用生命周期中承担着重要作用,随着应用业务的不断发展,集群中的宿主机往往涵盖了操作系统的不同版本,如SUSE12SP3和SUSE12SP5等。除此之外,随着各地区技术的不断发展,各种类型的软硬件也开始融入到存量集群当中,如泰山服务器(ARM架构)、中标麒麟操作系统等。面对这样一个多种软硬件混合部署的MySQL集群环境,不同的软硬件又有其对应的MySQL镜像,创建容器时需要考虑如何根据镜像调度到相应的节点。
现有的多种软硬件混合部署的MySQL集群的调度方式通常为:为不同的软硬件环境规划单独的集群环境,这样就规避了集群内调度的问题,不同的镜像由人工选择对应的集群即可,但该方案存在硬件资源的浪费和较高的运维成本的问题,由于增加了集群数量,其对应的管理节点都需要单独搭建,其次对于运维人员来说,关联软硬件环境的众多集群,需要单独维护,运维成本大大提高。
发明内容
针对现有技术中的问题,本申请提供一种软硬件混合部署的MySQL集群调度方法及装置,能够将各种类型的宿主机无差别地纳管入MySQL集群,且能够有效提高多种软硬件混合部署的MySQL集群的调度自动化程度及智能化程度,并能够降低资源浪费及运维成本。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种软硬件混合部署的MySQL集群调度方法,包括:
获取接收到的容器创建请求对应的镜像以及该镜像的目标参数信息;
根据所述目标参数信息对软硬件混合部署的MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,其中,所述参数标签为预先对宿主机的软硬件信息进行探测后自动生成的;
向所述目标宿主机发送容器调度指令,以使该目标宿主机创建并运行对应容器,并基于该容器向所述容器创建请求的发出方提供服务。
进一步地,在所述获取接收到的容器创建请求对应的镜像以及该镜像的目标参数信息之前,还包括:
基于信息探测装置对当前待加入所述MySQL集群中的宿主机进行信息探测,得到该宿主机的软硬件信息,其中,所述信息探测装置应用预设的自动运维工具生成;
根据待加入所述MySQL集群中的宿主机的软硬件信息生成该宿主机的参数标签;
将待加入所述MySQL集群中的宿主机加入所述MySQL集群。
进一步地,所述将待加入所述MySQL集群中的宿主机加入所述MySQL集群,包括:
对待加入所述MySQL集群中的宿主机进行所述MySQL集群的集群通信组件安装和容器运行环境安装处理;
以及,将所述MySQL集群中的集群管理节点相关的证书安装至待加入所述MySQL集群中的宿主机,以使该宿主机加入所述MySQL集群;
将待加入所述MySQL集群中的宿主机的参数标签发送至所述MySQL集群中的集群管理节点进行存储。
进一步地,所述获取接收到的容器创建请求对应的镜像以及该镜像的目标参数信息,包括:
接收容器创建请求对应的报文,并根据该报文自预设的镜像仓库中拉取对应的镜像;
对所述镜像进行镜像内容解析,以得到该镜像的目标参数信息;
其中,所述目标参数信息包括:用于表示镜像是否为MySQL镜像的第一信息、用于指定待运行的CPU架构的第二信息和用于指定软件环境的第三信息。
进一步地,所述根据所述目标参数信息对软硬件混合部署的MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,包括:
对所述第一信息、第二信息和第三信息进行组合调度以得到对应的组合调度信息;
将所述组合调度信息分别与所述MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机。
进一步地,所述将所述组合调度信息分别与所述MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,包括:
基于预设的预选规则,在所述MySQL集群中选取与所述组合调度信息匹配的宿主机以形成预选宿主机集;
若所述预选宿主机集中的宿主机个数等于1,则将该所述预选宿主机集中的宿主机确定为与所述目标参数信息对应的目标宿主机。
进一步地,所述将所述组合调度信息分别与所述MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,还包括:
若所述预选宿主机集中的宿主机个数大于1,则基于预设的优选评分规则在所述预选宿主机选取分值最高的宿主机,并将该宿主机确定为与所述目标参数信息对应的目标宿主机。
第二方面,本申请提供一种软硬件混合部署的MySQL集群调度装置,包括:
镜像解析模块,用于获取接收到的容器创建请求对应的镜像以及该镜像的目标参数信息;
标签匹配模块,用于根据所述目标参数信息对软硬件混合部署的MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,其中,所述参数标签为预先对宿主机的软硬件信息进行探测后自动生成的;
容器调度模块,用于向所述目标宿主机发送容器调度指令,以使该目标宿主机创建并运行对应容器,并基于该容器向所述容器创建请求的发出方提供服务。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述软硬件混合部署的MySQL集群调度方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述软硬件混合部署的MySQL集群调度方法。
由上述技术方案可知,本申请提供的一种软硬件混合部署的MySQL集群调度方法及装置,方法获取接收到的容器创建请求对应的镜像以及该镜像的目标参数信息;根据所述目标参数信息对软硬件混合部署的MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,其中,所述参数标签为预先对宿主机的软硬件信息进行探测后自动生成的;向所述目标宿主机发送容器调度指令,以使该目标宿主机创建并运行对应容器,并基于该容器向所述容器创建请求的发出方提供服务,通过预先对宿主机的软硬件信息进行探测后自动生成各个宿主机的参数标签,使得各种类型的宿主机均可以无差别地纳管入MySQL集群,且能够有效提高多种软硬件混合部署的MySQL集群的调度自动化程度及智能化程度,并能够在避免多种软硬件混合部署的MySQL集群调度资源浪费的基础上,还能够有效提高MySQL集群的调度效率,以有效降低MySQL集群调度过程的时间成本及运维成本,进而能够保证MySQL集群的运行稳定性及可靠性,并能够有效提高MySQL集群的调度运维人员的用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中的软硬件混合部署的MySQL集群调度方法的第一种流程示意图。
图2是本申请实施例中的软硬件混合部署的MySQL集群调度方法中第二种流程示意图。
图3是本申请实施例中的软硬件混合部署的MySQL集群调度方法的第三种流程示意图。
图4是本申请实施例中的软硬件混合部署的MySQL集群调度方法中的第四种流程示意图。
图5是本申请实施例中的软硬件混合部署的MySQL集群调度方法中的第五种流程示意图。
图6是本申请实施例中的软硬件混合部署的MySQL集群调度方法中的第六种流程示意图。
图7是本申请实施例中的软硬件混合部署的MySQL集群调度方法中的第七种流程示意图。
图8是本申请实施例中的软硬件混合部署的MySQL集群调度装置的结构示意图。
图9是本申请应用实例中的多操作系统MySQL混合部署策略时序示意图。
图10是本申请应用实例中的环境准备处理装置的结构示意图。
图11是本申请应用实例中的信息探测处理装置的结构示意图。
图12是本申请应用实例中的节点纳管处理装置的结构示意图。
图13是本申请应用实例中的调度执行处理装置的结构示意图。
图14是本申请应用实例中的运行容器处理装置的结构示意图。
图15是本申请应用实例中的软硬件混合部署的MySQL集群调度方法的流程示意图。
图16是本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请公开的软硬件混合部署的MySQL集群调度方法和装置可用于云计算技术领域,也可用于除云计算技术领域之外的任意领域,本申请公开的软硬件混合部署的MySQL集群调度方法和装置的应用领域不做限定。
针对现有的多种软硬件混合部署的MySQL集群的调度方式存在自动化程度低、资源浪费及运维成本过高等问题而导致的目前没有针对多种软硬件混合部署集群环境下的调度策略的现状,本申请实施例提供一种软硬件混合部署的MySQL集群调度方法、软硬件混合部署的MySQL集群调度装置、电子设备及计算机可读存储介质,通过获取接收到的容器创建请求对应的镜像以及该镜像的目标参数信息;根据所述目标参数信息对软硬件混合部署的MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,其中,所述参数标签为预先对宿主机的软硬件信息进行探测后自动生成的;向所述目标宿主机发送容器调度指令,以使该目标宿主机创建并运行对应容器,并基于该容器向所述容器创建请求的发出方提供服务,通过预先对宿主机的软硬件信息进行探测后自动生成各个宿主机的参数标签,使得各种类型的宿主机均可以无差别地纳管入MySQL集群,且能够有效提高多种软硬件混合部署的MySQL集群的调度自动化程度及智能化程度,并能够在避免多种软硬件混合部署的MySQL集群调度资源浪费的基础上,还能够有效提高MySQL集群的调度效率,以有效降低MySQL集群调度过程的时间成本及运维成本,进而能够保证MySQL集群的运行稳定性及可靠性,并能够有效提高MySQL集群的调度运维人员的用户体验。
基于上述内容,本申请还提供一种用于实现本申请一个或多个实施例中提供的软硬件混合部署的MySQL集群调度方法的软硬件混合部署的MySQL集群调度装置,该软硬件混合部署的MySQL集群调度装置可以与客户端设备之间进行通信连接,所述软硬件混合部署的MySQL集群调度装置可以接收客户端设备发送的容器创建请求,而后获取接收到的容器创建请求对应的镜像以及该镜像的目标参数信息;根据所述目标参数信息对软硬件混合部署的MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,其中,所述参数标签为预先对宿主机的软硬件信息进行探测后自动生成的;向所述目标宿主机发送容器调度指令,以使该目标宿主机创建并运行对应容器,并基于该容器向发出所述容器创建请求的客户端设备提供服务,可以理解的是,本申请的一个或多个实施例中提及的所述容器创建请求的发出方可以为发出所述容器创建请求的客户端设备。
在一种实际应用情形中,所述软硬件混合部署的MySQL集群调度装置可以采用服务器实现;所述服务器可以与至少一个客户端设备之间通信连接。
可以理解的是,所述客户端设备可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在另一种实际应用情形中,前述的软硬件混合部署的MySQL集群调度装置进行软硬件混合部署的MySQL集群调度的部分可以在如上述内容的服务器中执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器,用于软硬件混合部署的MySQL集群调度的具体处理。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
上述服务器与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
具体通过下述各个实施例及应用实例分别进行详细说明。
为了解决现有的多种软硬件混合部署的MySQL集群的调度方式存在自动化程度低、资源浪费及运维成本过高等问题,本申请提供一种软硬件混合部署的MySQL集群调度方法的实施例,参见图1,应用软硬件混合部署的MySQL集群调度装置执行的所述软硬件混合部署的MySQL集群调度方法具体包含有如下内容:
步骤100:获取接收到的容器创建请求对应的镜像以及该镜像的目标参数信息。
在执行步骤100之前,需要先进行环境准备处理,包括CPU、内存、硬盘、主板等硬件资源和安装完整的操作系统支持,支持多种操作系统纳入集群,如Linux操作系统SUSE12(SUSE Linux Enterprise 12)、中标麒麟、社区企业操作系统Centos(CommunityEnterprise Operating System)等,必备应用软件的安装,如sshd(secure shell)服务、多路径软件UltraPath等。可以理解的是,UltraPath软件以内核模块的形式加载到Linux操作系统中,它在操作系统内部被注册成为一个虚拟设备。该软件可以使应用服务器与存储系统之间以最优的路径进行通信。服务使用ssh协议远程开启其他主机shell的服务。首先需要打开sshd服务。
在本申请的一个或多个实施例中,所述目标参数信息至少可以包含有:用于表示镜像是否为MySQL镜像的第一信息、用于指定待运行的CPU架构的第二信息和用于指定软件环境的第三信息。
步骤200:根据所述目标参数信息对软硬件混合部署的MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,其中,所述参数标签为预先对宿主机的软硬件信息进行探测后自动生成的。
在本申请的一个或多个实施例中,MySQL是指关系型数据库管理系统,MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
在步骤200中,通过拉取镜像后,解析其中的关键参数,如MySQL进程、CPU架构等获取关键信息,通过镜像解析出的参数,对集群中的宿主机进行匹配,按照先预选,将不符合标签要求的宿主机剔除,再优选,为符合要求的宿主机打分的方式,选择出分数最高的宿主机以供调度。
步骤300:向所述目标宿主机发送容器调度指令,以使该目标宿主机创建并运行对应容器,并基于该容器向所述容器创建请求的发出方提供服务。
在步骤300中,可以通过镜像仓库拉取指定镜像到本地,根据要求在宿主机上分配响应的资源,调用容器运行装置实现容器运行,以输出服务。
从上述描述可知,本申请实施例提供的软硬件混合部署的MySQL集群调度方法,通过预先对宿主机的软硬件信息进行探测后自动生成各个宿主机的参数标签,使得各种类型的宿主机均可以无差别地纳管入MySQL集群,且能够有效提高多种软硬件混合部署的MySQL集群的调度自动化程度及智能化程度,并能够在避免多种软硬件混合部署的MySQL集群调度资源浪费的基础上,还能够有效提高MySQL集群的调度效率,以有效降低MySQL集群调度过程的时间成本及运维成本,进而能够保证MySQL集群的运行稳定性及可靠性,并能够有效提高MySQL集群的调度运维人员的用户体验。
为了提供一种信息探测的具体实现方式,在本申请提供的软硬件混合部署的MySQL集群调度方法的一个实施例中,参见图2,所述软硬件混合部署的MySQL集群调度方法的步骤100之前还具体包含有如下内容:
步骤010:基于信息探测装置对当前待加入所述MySQL集群中的宿主机进行信息探测,得到该宿主机的软硬件信息,其中,所述信息探测装置应用预设的自动运维工具生成。
步骤020:根据待加入所述MySQL集群中的宿主机的软硬件信息生成该宿主机的参数标签。
步骤030:将待加入所述MySQL集群中的宿主机加入所述MySQL集群。
具体来说,可以通过自动运维工具,如ansible等,构建信息探测装置,自动生成宿主机标签,该装置能探测宿主机的软硬件信息,如CPU架构、内存大小、操作系统版本等;探测到的信息用做节点纳管环节的信息源。
从上述描述可知,本申请实施例提供的软硬件混合部署的MySQL集群调度方法,能够有效提高宿主机的参数标签的生成可靠性、自动化程度及智能化程度,进而能过使得各种类型的宿主机均可以无差别地纳管入MySQL集群,以进一步提高多种软硬件混合部署的MySQL集群的调度自动化程度及智能化程度。
为了提供一种节点纳入集群的具体实现方式,在本申请提供的软硬件混合部署的MySQL集群调度方法的一个实施例中,参见图3,所述软硬件混合部署的MySQL集群调度方法的步骤030具体包含有如下内容:
步骤031:对待加入所述MySQL集群中的宿主机进行所述MySQL集群的集群通信组件安装和容器运行环境安装处理。
步骤032:将所述MySQL集群中的集群管理节点相关的证书安装至待加入所述MySQL集群中的宿主机,以使该宿主机加入所述MySQL集群。
步骤033:将待加入所述MySQL集群中的宿主机的参数标签发送至所述MySQL集群中的集群管理节点进行存储。
具体来说,将新增加的宿主机加入MySQL集群,包括集群通信组件安装,如Kubelet、kube-proxy等;容器运行环境安装,如Docker、Kata Container等;通信证书安装,将集群管理节点中的相关证书安装至宿主机节点;宿主机标签上送,将自动生成的标签上送至集群管理节点存储。
可以理解的是,Kubelet是在每个Node节点上运行的主要“节点代理”。它可以使用以下之一向apiserver注册:主机名(hostname);覆盖主机名的参数;某云驱动的特定逻辑。kubelet是基于PodSpec来工作的。每个PodSpec是一个描述Pod的YAML或JSON对象。kubelet接受通过各种机制(主要是通过apiserver)提供的一组PodSpec,并确保这些PodSpec中描述的容器处于运行状态且运行状况良好。kubelet不管理不是由Kubernetes创建的容器。
可以理解的是,kube-proxy是Kubernetes的核心组件,部署在每个Node节点上,它是实现Kubernetes Service的通信与负载均衡机制的重要组件;kube-proxy负责为Pod创建代理服务,从apiserver获取所有server信息,并根据server信息创建代理服务,实现server到Pod的请求路由和转发,从而实现K8s层级的虚拟转发网络。
可以理解的是,Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
可以理解的是,开源容器项目Kata Containers,旨在将虚拟机(VM)的安全优势与容器的速度和管理性统一起来。Kata Container是两个现有的开源项目合并:Intel ClearContainers和Hyper runV。Intel Clear Container项目的目标解决容器内部的安全问题,并且能够将容器作为轻量级虚拟机(VM)启动,提供了一个可选的运行时间,专注于性能(<100ms启动时间),可与Kubernetes和Docker等常用容器环境互操作。ClearContainer表明,安全性和性能不必是一个折衷,将硬件隔离的安全性与容器的性能可以兼得。hyper runV优先于技术无关支持许多不同的CPU架构和管理程序。
从上述描述可知,本申请实施例提供的软硬件混合部署的MySQL集群调度方法,通过将待加入所述MySQL集群中的宿主机加入所述MySQL集群并将其参数标签发送至所述MySQL集群中的集群管理节点进行存储,能够有效提高宿主机纳管入MySQL集群的有效性及可靠性,并能够有效提高MySQL集群调度的有效性及可靠性。
为了提供一种镜像解析的具体实现方式,在本申请提供的软硬件混合部署的MySQL集群调度方法的一个实施例中,参见图4,所述软硬件混合部署的MySQL集群调度方法的步骤100具体包含有如下内容:
步骤110:接收容器创建请求对应的报文,并根据该报文自预设的镜像仓库中拉取对应的镜像。
步骤120:对所述镜像进行镜像内容解析,以得到该镜像的目标参数信息;其中,所述目标参数信息包括:用于表示镜像是否为MySQL镜像的第一信息、用于指定待运行的CPU架构的第二信息和用于指定软件环境的第三信息。
具体来说,通过镜像仓库拉取镜像,并将该镜像内容解析出来,包括是否为MySQL镜像、要求在怎样的CPU架构上运行、需要的软件环境等;根据镜像解析装置得到的信息,将这些信息进行组合调度,与宿主机中的各个标签进行匹配,按照预选和优选策略得到匹配程度最高的宿主机作为调度节点,并向该宿主机发送容器运行指令。
从上述描述可知,本申请实施例提供的软硬件混合部署的MySQL集群调度方法,通过对所述镜像进行镜像内容解析,能够快速且准确地获取镜像的目标参数信息,进而能够进一步提高软硬件混合部署的MySQL集群调度的效率及准确性。
为了提供一种宿主机选取的具体实现方式,在本申请提供的软硬件混合部署的MySQL集群调度方法的一个实施例中,参见图5,所述软硬件混合部署的MySQL集群调度方法的步骤200具体包含有如下内容:
步骤210:对所述第一信息、第二信息和第三信息进行组合调度以得到对应的组合调度信息。
步骤220:将所述组合调度信息分别与所述MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机。
从上述描述可知,本申请实施例提供的软硬件混合部署的MySQL集群调度方法,通过第一信息、第二信息和第三信息进行组合调度,并基于组合调度结果选取目标宿主机,能够有效提高匹配结果的准确性及可靠性,进而能够有效提高软硬件混合部署的MySQL集群调度的准确性及可靠性。
为了提供一种宿主机匹配的具体实现方式,在本申请提供的软硬件混合部署的MySQL集群调度方法的一个实施例中,参见图6,所述软硬件混合部署的MySQL集群调度方法的步骤220具体包含有如下内容:
步骤221:基于预设的预选规则,在所述MySQL集群中选取与所述组合调度信息匹配的宿主机以形成预选宿主机集。
步骤222:若所述预选宿主机集中的宿主机个数等于1,则将该所述预选宿主机集中的宿主机确定为与所述目标参数信息对应的目标宿主机。
从上述描述可知,本申请实施例提供的软硬件混合部署的MySQL集群调度方法,通过基于预设的预选规则,在所述MySQL集群中选取与所述组合调度信息匹配的宿主机以形成预选宿主机集,能够有效提供目标宿主机的选取效率及可靠性,进而能够进一步提高软硬件混合部署的MySQL集群调度的效率及可靠性。
为了提供一种宿主机匹配的具体实现方式,在本申请提供的软硬件混合部署的MySQL集群调度方法的一个实施例中,参见图7,所述软硬件混合部署的MySQL集群调度方法的步骤221之后还具体包含有如下内容:
步骤223:若所述预选宿主机集中的宿主机个数大于1,则基于预设的优选评分规则在所述预选宿主机选取分值最高的宿主机,并将该宿主机确定为与所述目标参数信息对应的目标宿主机。
具体来说,可以通过镜像解析出的参数,对集群中的宿主机进行匹配,按照先预选,将不符合标签要求的宿主机剔除,再优选,为符合要求的宿主机打分的方式,选择出分数最高的宿主机以供调度。
从上述描述可知,本申请实施例提供的软硬件混合部署的MySQL集群调度方法,通过基于预设的优选评分规则,在所述预选宿主机集中选取最优的目标宿主机,能够有效提供目标宿主机的选取有效性及准确性,进而能够进一步提高软硬件混合部署的MySQL集群调度的有效性及准确性。
从软件层面来说,为了解决现有的多种软硬件混合部署的MySQL集群的调度方式存在自动化程度低、资源浪费及运维成本过高等问题,本申请提供一种用于执行所述软硬件混合部署的MySQL集群调度方法中全部或部分内容的软硬件混合部署的MySQL集群调度装置的实施例,参见图8,所述软硬件混合部署的MySQL集群调度装置具体包含有如下内容:
镜像解析模块10,用于获取接收到的容器创建请求对应的镜像以及该镜像的目标参数信息。
在执行镜像解析模块10中内容之前,需要先进行环境准备处理,包括CPU、内存、硬盘、主板等硬件资源和安装完整的操作系统支持,支持多种操作系统纳入集群,如Linux操作系统SUSE12(SUSE Linux Enterprise 12)、中标麒麟、社区企业操作系统Centos(Community Enterprise Operating System)等,必备应用软件的安装,如sshd(secureshell)服务、多路径软件UltraPath等。可以理解的是,UltraPath软件以内核模块的形式加载到Linux操作系统中,它在操作系统内部被注册成为一个虚拟设备。该软件可以使应用服务器与存储系统之间以最优的路径进行通信。服务使用ssh协议远程开启其他主机shell的服务。首先需要打开sshd服务。
在本申请的一个或多个实施例中,所述目标参数信息至少可以包含有:用于表示镜像是否为MySQL镜像的第一信息、用于指定待运行的CPU架构的第二信息和用于指定软件环境的第三信息。
标签匹配模块20,用于根据所述目标参数信息对软硬件混合部署的MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,其中,所述参数标签为预先对宿主机的软硬件信息进行探测后自动生成的。
在本申请的一个或多个实施例中,MySQL是指关系型数据库管理系统,MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
在标签匹配模块20中,通过拉取镜像后,解析其中的关键参数,如MySQL进程、CPU架构等获取关键信息,通过镜像解析出的参数,对集群中的宿主机进行匹配,按照先预选,将不符合标签要求的宿主机剔除,再优选,为符合要求的宿主机打分的方式,选择出分数最高的宿主机以供调度。
容器调度模块30,用于向所述目标宿主机发送容器调度指令,以使该目标宿主机创建并运行对应容器,并基于该容器向所述容器创建请求的发出方提供服务。
在容器调度模块30中,可以通过镜像仓库拉取指定镜像到本地,根据要求在宿主机上分配响应的资源,调用容器运行装置实现容器运行,以输出服务。
本申请提供的软硬件混合部署的MySQL集群调度装置的实施例具体可以用于执行上述实施例中的软硬件混合部署的MySQL集群调度方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
从上述描述可知,本申请实施例提供的软硬件混合部署的MySQL集群调度装置,通过预先对宿主机的软硬件信息进行探测后自动生成各个宿主机的参数标签,使得各种类型的宿主机均可以无差别地纳管入MySQL集群,且能够有效提高多种软硬件混合部署的MySQL集群的调度自动化程度及智能化程度,并能够在避免多种软硬件混合部署的MySQL集群调度资源浪费的基础上,还能够有效提高MySQL集群的调度效率,以有效降低MySQL集群调度过程的时间成本及运维成本,进而能够保证MySQL集群的运行稳定性及可靠性,并能够有效提高MySQL集群的调度运维人员的用户体验。
为了提供一种信息探测的具体实现方式,在本申请提供的软硬件混合部署的MySQL集群调度装置的一个实施例中,所述软硬件混合部署的MySQL集群调度装置还具体用于执行下述内容:
步骤010:基于信息探测装置对当前待加入所述MySQL集群中的宿主机进行信息探测,得到该宿主机的软硬件信息,其中,所述信息探测装置应用预设的自动运维工具生成。
步骤020:根据待加入所述MySQL集群中的宿主机的软硬件信息生成该宿主机的参数标签。
步骤030:将待加入所述MySQL集群中的宿主机加入所述MySQL集群。
具体来说,可以通过自动运维工具,如ansible等,构建信息探测装置,自动生成宿主机标签,该装置能探测宿主机的软硬件信息,如CPU架构、内存大小、操作系统版本等;探测到的信息用做节点纳管环节的信息源。
从上述描述可知,本申请实施例提供的软硬件混合部署的MySQL集群调度装置,能够有效提高宿主机的参数标签的生成可靠性、自动化程度及智能化程度,进而能过使得各种类型的宿主机均可以无差别地纳管入MySQL集群,以进一步提高多种软硬件混合部署的MySQL集群的调度自动化程度及智能化程度。
为了提供一种节点纳入集群的具体实现方式,在本申请提供的软硬件混合部署的MySQL集群调度装置的一个实施例中,所述软硬件混合部署的MySQL集群调度装置还用于执行下述内容:
步骤031:对待加入所述MySQL集群中的宿主机进行所述MySQL集群的集群通信组件安装和容器运行环境安装处理。
步骤032:将所述MySQL集群中的集群管理节点相关的证书安装至待加入所述MySQL集群中的宿主机,以使该宿主机加入所述MySQL集群。
步骤033:将待加入所述MySQL集群中的宿主机的参数标签发送至所述MySQL集群中的集群管理节点进行存储。
具体来说,将新增加的宿主机加入MySQL集群,包括集群通信组件安装,如Kubelet、kube-proxy等;容器运行环境安装,如Docker、Kata Container等;通信证书安装,将集群管理节点中的相关证书安装至宿主机节点;宿主机标签上送,将自动生成的标签上送至集群管理节点存储。
可以理解的是,Kubelet是在每个Node节点上运行的主要“节点代理”。它可以使用以下之一向apiserver注册:主机名(hostname);覆盖主机名的参数;某云驱动的特定逻辑。kubelet是基于PodSpec来工作的。每个PodSpec是一个描述Pod的YAML或JSON对象。kubelet接受通过各种机制(主要是通过apiserver)提供的一组PodSpec,并确保这些PodSpec中描述的容器处于运行状态且运行状况良好。kubelet不管理不是由Kubernetes创建的容器。
可以理解的是,kube-proxy是Kubernetes的核心组件,部署在每个Node节点上,它是实现Kubernetes Service的通信与负载均衡机制的重要组件;kube-proxy负责为Pod创建代理服务,从apiserver获取所有server信息,并根据server信息创建代理服务,实现server到Pod的请求路由和转发,从而实现K8s层级的虚拟转发网络。
可以理解的是,Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
可以理解的是,开源容器项目Kata Containers,旨在将虚拟机(VM)的安全优势与容器的速度和管理性统一起来。Kata Container是两个现有的开源项目合并:Intel ClearContainers和Hyper runV。Intel Clear Container项目的目标解决容器内部的安全问题,并且能够将容器作为轻量级虚拟机(VM)启动,提供了一个可选的运行时间,专注于性能(<100ms启动时间),可与Kubernetes和Docker等常用容器环境互操作。ClearContainer表明,安全性和性能不必是一个折衷,将硬件隔离的安全性与容器的性能可以兼得。hyper runV优先于技术无关支持许多不同的CPU架构和管理程序。
从上述描述可知,本申请实施例提供的软硬件混合部署的MySQL集群调度装置,通过将待加入所述MySQL集群中的宿主机加入所述MySQL集群并将其参数标签发送至所述MySQL集群中的集群管理节点进行存储,能够有效提高宿主机纳管入MySQL集群的有效性及可靠性,并能够有效提高MySQL集群调度的有效性及可靠性。
为了提供一种镜像解析的具体实现方式,在本申请提供的软硬件混合部署的MySQL集群调度装置的一个实施例中,所述软硬件混合部署的MySQL集群调度装置的镜像解析模块10具体用于执行下述内容:
步骤110:接收容器创建请求对应的报文,并根据该报文自预设的镜像仓库中拉取对应的镜像。
步骤120:对所述镜像进行镜像内容解析,以得到该镜像的目标参数信息;其中,所述目标参数信息包括:用于表示镜像是否为MySQL镜像的第一信息、用于指定待运行的CPU架构的第二信息和用于指定软件环境的第三信息。
具体来说,通过镜像仓库拉取镜像,并将该镜像内容解析出来,包括是否为MySQL镜像、要求在怎样的CPU架构上运行、需要的软件环境等;根据镜像解析装置得到的信息,将这些信息进行组合调度,与宿主机中的各个标签进行匹配,按照预选和优选策略得到匹配程度最高的宿主机作为调度节点,并向该宿主机发送容器运行指令。
从上述描述可知,本申请实施例提供的软硬件混合部署的MySQL集群调度装置,通过对所述镜像进行镜像内容解析,能够快速且准确地获取镜像的目标参数信息,进而能够进一步提高软硬件混合部署的MySQL集群调度的效率及准确性。
为了提供一种宿主机选取的具体实现方式,在本申请提供的软硬件混合部署的MySQL集群调度装置的一个实施例中,所述软硬件混合部署的MySQL集群调度装置的标签匹配模块20具体用于执行下述内容:
步骤210:对所述第一信息、第二信息和第三信息进行组合调度以得到对应的组合调度信息。
步骤220:将所述组合调度信息分别与所述MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机。
从上述描述可知,本申请实施例提供的软硬件混合部署的MySQL集群调度装置,通过第一信息、第二信息和第三信息进行组合调度,并基于组合调度结果选取目标宿主机,能够有效提高匹配结果的准确性及可靠性,进而能够有效提高软硬件混合部署的MySQL集群调度的准确性及可靠性。
为了提供一种宿主机匹配的具体实现方式,在本申请提供的软硬件混合部署的MySQL集群调度装置的一个实施例中,所述软硬件混合部署的MySQL集群调度装置的标签匹配模块20还具体用于执行下述内容:
步骤221:基于预设的预选规则,在所述MySQL集群中选取与所述组合调度信息匹配的宿主机以形成预选宿主机集。
步骤222:若所述预选宿主机集中的宿主机个数等于1,则将该所述预选宿主机集中的宿主机确定为与所述目标参数信息对应的目标宿主机。
从上述描述可知,本申请实施例提供的软硬件混合部署的MySQL集群调度装置,通过基于预设的预选规则,在所述MySQL集群中选取与所述组合调度信息匹配的宿主机以形成预选宿主机集,能够有效提供目标宿主机的选取效率及可靠性,进而能够进一步提高软硬件混合部署的MySQL集群调度的效率及可靠性。
为了提供一种宿主机匹配的具体实现方式,在本申请提供的软硬件混合部署的MySQL集群调度装置的一个实施例中,所述软硬件混合部署的MySQL集群调度装置的标签匹配模块20还具体用于执行下述内容:
步骤223:若所述预选宿主机集中的宿主机个数大于1,则基于预设的优选评分规则在所述预选宿主机选取分值最高的宿主机,并将该宿主机确定为与所述目标参数信息对应的目标宿主机。
具体来说,可以通过镜像解析出的参数,对集群中的宿主机进行匹配,按照先预选,将不符合标签要求的宿主机剔除,再优选,为符合要求的宿主机打分的方式,选择出分数最高的宿主机以供调度。
从上述描述可知,本申请实施例提供的软硬件混合部署的MySQL集群调度装置,通过基于预设的优选评分规则,在所述预选宿主机集中选取最优的目标宿主机,能够有效提供目标宿主机的选取有效性及准确性,进而能够进一步提高软硬件混合部署的MySQL集群调度的有效性及准确性。
为了进一步说明本方案,为解决多操作系统混合部署的集群环境中,不同MySQL镜像需要调度到相应软硬件环境的宿主机问题,本申请还提供一种应用软硬件混合部署的MySQL集群调度系统实现的软硬件混合部署的MySQL集群调度方法的具体应用实例,支持根据不同镜像调度到相应的宿主机节点。
基于多操作系统的MySQL混合部署策略,分为环境准备、节点纳管、标签探测、调度执行、运行容器五部分,参见图9,主要包括如下步骤:
步骤1:环境准备,包括CPU、内存、硬盘、主板等硬件资源和安装完整的操作系统支持,支持多种操作系统纳入集群,如SUSE12、中标麒麟、Centos等,必备应用软件的安装,如sshd、UltraPath等。
步骤2:信息探测,通过自动运维工具,如ansible等,构建信息探测装置,自动生成宿主机标签,该装置能探测宿主机的软硬件信息,如CPU架构、内存大小、操作系统版本等;探测到的信息用做节点纳管环节的信息源。
步骤3:节点纳管,将新增加的宿主机加入MySQL集群,包括集群通信组件安装,如kubelet、kube-proxy等;容器运行环境安装,如docker、kata container等;通信证书安装,将集群管理节点中的相关证书安装至宿主机节点;宿主机标签上送,将步骤2中自动生成的标签上送至集群管理节点存储。
步骤4:调度执行,包括镜像解析装置和容器调度装置;镜像解析装置通过镜像仓库拉取镜像,并将该镜像内容解析出来,包括是否为MySQL镜像、要求在怎样的CPU架构上运行、需要的软件环境等;根据镜像解析装置得到的信息,容器调度装置将这些信息进行组合调度,与宿主机中的各个标签进行匹配,按照预选和优选策略得到匹配程度最高的宿主机作为调度节点,并向该宿主机发送容器运行指令。
步骤5:运行容器,匹配程度最高的宿主机收到容器运行指令后,调用容器运行装置拉取、启动指定镜像以向外提供服务。
本申请应用实例提供一种多操作系统的MySQL混合部署策略,包括操作者、集群Master和指定节点Node,其中,操作者的角色在方案验证环节可以由手工方式实施,实际生产可以通过管理平台实现自动作业,环境准备可以通过openstack自动下发实现,信息探测脚本可以通过自动运维工具执行。
软硬件混合部署的MySQL集群调度系统具体包含有如下内容:
参见图10,环境准备处理装置1包括硬件环境单元11、操作系统单元12和应用软件单元13;准备硬件环境和软件环境,硬件环境包括计算资源所需的CPU、内存、存储等硬件条件,软件环境包括操作系统及必备的应用软件等。
参见图11,信息探测处理装置2包括:硬件信息探测单元21、软件信息探测单元22、探测脚本单元23和探测信息上送单元24;硬件信息探测单元21用来探测宿主机的硬件构成,包括CPU脚骨、内存大小等,软件信息探测单元22用来探测宿主机的操作系统版本、相关软件版本等,探测脚本单元23指软硬件探测的脚本实现和调用,而探测信息上送单元24将探测结果通过数据包上送至处理服务器。
参见图12,节点纳管处理装置3包括集群通信组件单元31、容器运行单元32、安全通信单元33和标签上送单元34;其中集群通信组件单元31包括集群代理组件、集群通信组件的安装,容器运行单元32包括虚拟化容器的安装,如docker、kata container等,安全通信单元33用于确保集群内的双向证书认证,标签上送单元34将该宿主机的标签上送集群管理节点,共管理节点通过标签实现调度。
参见图13,调度执行处理装置4包括:镜像解析单元41、宿主机预选优选单元42、容器调度单元43;其中镜像解析单元41通过拉取镜像后,解析其中的关键参数,如MySQL进程、CPU架构等获取关键信息,宿主机预选优选单元42通过镜像解析出的参数,对集群中的宿主机进行匹配,按照先预选,将不符合标签要求的宿主机剔除,再优选,为符合要求的宿主机打分的方式,选择出分数最高的宿主机以供调度,容器调度单元43将容器调度指令发送给宿主机预选优选单元中选择的宿主机。
参见图14,容器运行处理装置5包括镜像拉取单元51、存储、网络分配单元52、容器启动单元53,其中镜镜像拉取单元51通过镜像仓库拉取指定镜像到本地,存储、网络分配单元52根据要求在宿主机上分配响应的资源,容器启动单元53调用容器运行装置实现容器运行,以输出服务。
参见图15,本申请应用实例提供一种多操作系统的MySQL混合部署方法具体包含有如下内容:
步骤S01:环境准备、信息探测等容器创建前置步骤:容器创建前置操作,包括环境准备、信息探测、节点纳管操作。
步骤S02:发送创建MySQL容器报文:向集群管理节点发送MySQL容器创建报文,主要包括该容器所需镜像、运算资源等。
步骤S03:报文解析,分离出需要调度的操作系统:集群管理节点根据收到的报文,进行解析,得到容器创建所需的信息。
步骤S04:按照预选优选策略,筛选符合容器要求的宿主机:集群管理节点对集群中的所有宿主机按照预选优选的策略进行选择,对符合要求的多个宿主机进行打分,并得到分数最高的一台作为后续容器运行的载体。
步骤S05:将需要创建的MySQL容器调度到选择的宿主机上:将创建容器的指令发送到选中的宿主机上。
步骤S06:宿主机启动容器,提供服务:宿主机创建并启动容器,将容器的运行状态返回给集群管理节点。
步骤S07:是否成功启动:若管理节点收到容器的状态为启动成功,则本次调度结束,若容器状态为启动失败,则继续执行调度流程,之至调度到可以成功运行的宿主机。
步骤S08:结束:调度策略结束。
从上述描述可知,为解决多操作系统混合部署的集群环境中,不同MySQL镜像需要调度到相应软硬件环境的宿主机问题,本申请应用实例提供一种基于多操作系统的MySQL混合部署策略。通过在宿主机纳管时将宿主机的软硬件信息与标签绑定的方式,进而根据调度策略实现将不同需求的容器调度到对应的宿主机的需求。其优点如下:
1、通过多操作系统宿主机的混合部署,减少了集群数量,从而减轻了运维成本。如果为每个操作系统的宿主机单独成立一个集群,就会增加系统复杂度,提高维护成本。
2、降低了对宿主机的要求,无论是硬件层面还是软件层面,通过混合部署策略,使得单个集群可以容纳更多不同类型的宿主机,提高了集群对宿主机的容忍度。
3、提高了创建容器的自适应能力,通过调度算法,为其分配合适的宿主机,保障其平稳顺利运行,进而对外提供服务。
从硬件层面来说,为了解决现有的多种软硬件混合部署的MySQL集群的调度方式存在自动化程度低、资源浪费及运维成本过高等问题,本申请提供一种用于实现所述软硬件混合部署的MySQL集群调度方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
图16为本申请实施例的电子设备9600的系统构成的示意框图。如图16所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图16是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在一实施例中,软硬件混合部署的MySQL集群调度功能可以被集成到中央处理器中。其中,中央处理器可以被配置为进行如下控制:
步骤100:获取接收到的容器创建请求对应的镜像以及该镜像的目标参数信息。
在执行步骤100之前,需要先进行环境准备处理,包括CPU、内存、硬盘、主板等硬件资源和安装完整的操作系统支持,支持多种操作系统纳入集群,如Linux操作系统SUSE12(SUSE Linux Enterprise 12)、中标麒麟、社区企业操作系统Centos(CommunityEnterprise Operating System)等,必备应用软件的安装,如sshd(secure shell)服务、多路径软件UltraPath等。可以理解的是,UltraPath软件以内核模块的形式加载到Linux操作系统中,它在操作系统内部被注册成为一个虚拟设备。该软件可以使应用服务器与存储系统之间以最优的路径进行通信。服务使用ssh协议远程开启其他主机shell的服务。首先需要打开sshd服务。
在本申请的一个或多个实施例中,所述目标参数信息至少可以包含有:用于表示镜像是否为MySQL镜像的第一信息、用于指定待运行的CPU架构的第二信息和用于指定软件环境的第三信息。
步骤200:根据所述目标参数信息对软硬件混合部署的MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,其中,所述参数标签为预先对宿主机的软硬件信息进行探测后自动生成的。
在本申请的一个或多个实施例中,MySQL是指关系型数据库管理系统,MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
在步骤200中,通过拉取镜像后,解析其中的关键参数,如MySQL进程、CPU架构等获取关键信息,通过镜像解析出的参数,对集群中的宿主机进行匹配,按照先预选,将不符合标签要求的宿主机剔除,再优选,为符合要求的宿主机打分的方式,选择出分数最高的宿主机以供调度。
步骤300:向所述目标宿主机发送容器调度指令,以使该目标宿主机创建并运行对应容器,并基于该容器向所述容器创建请求的发出方提供服务。
在步骤300中,可以通过镜像仓库拉取指定镜像到本地,根据要求在宿主机上分配响应的资源,调用容器运行装置实现容器运行,以输出服务。
从上述描述可知,本申请实施例提供的电子设备,通过预先对宿主机的软硬件信息进行探测后自动生成各个宿主机的参数标签,使得各种类型的宿主机均可以无差别地纳管入MySQL集群,且能够有效提高多种软硬件混合部署的MySQL集群的调度自动化程度及智能化程度,并能够在避免多种软硬件混合部署的MySQL集群调度资源浪费的基础上,还能够有效提高MySQL集群的调度效率,以有效降低MySQL集群调度过程的时间成本及运维成本,进而能够保证MySQL集群的运行稳定性及可靠性,并能够有效提高MySQL集群的调度运维人员的用户体验。
在另一个实施方式中,软硬件混合部署的MySQL集群调度装置可以与中央处理器9100分开配置,例如可以将软硬件混合部署的MySQL集群调度装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现软硬件混合部署的MySQL集群调度功能。
如图16所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图16中所示的所有部件;此外,电子设备9600还可以包括图16中没有示出的部件,可以参考现有技术。
如图16所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的软硬件混合部署的MySQL集群调度方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的软硬件混合部署的MySQL集群调度方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤100:获取接收到的容器创建请求对应的镜像以及该镜像的目标参数信息。
在执行步骤100之前,需要先进行环境准备处理,包括CPU、内存、硬盘、主板等硬件资源和安装完整的操作系统支持,支持多种操作系统纳入集群,如Linux操作系统SUSE12(SUSE Linux Enterprise 12)、中标麒麟、社区企业操作系统Centos(CommunityEnterprise Operating System)等,必备应用软件的安装,如sshd(secure shell)服务、多路径软件UltraPath等。可以理解的是,UltraPath软件以内核模块的形式加载到Linux操作系统中,它在操作系统内部被注册成为一个虚拟设备。该软件可以使应用服务器与存储系统之间以最优的路径进行通信。服务使用ssh协议远程开启其他主机shell的服务。首先需要打开sshd服务。
在本申请的一个或多个实施例中,所述目标参数信息至少可以包含有:用于表示镜像是否为MySQL镜像的第一信息、用于指定待运行的CPU架构的第二信息和用于指定软件环境的第三信息。
步骤200:根据所述目标参数信息对软硬件混合部署的MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,其中,所述参数标签为预先对宿主机的软硬件信息进行探测后自动生成的。
在本申请的一个或多个实施例中,MySQL是指关系型数据库管理系统,MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
在步骤200中,通过拉取镜像后,解析其中的关键参数,如MySQL进程、CPU架构等获取关键信息,通过镜像解析出的参数,对集群中的宿主机进行匹配,按照先预选,将不符合标签要求的宿主机剔除,再优选,为符合要求的宿主机打分的方式,选择出分数最高的宿主机以供调度。
步骤300:向所述目标宿主机发送容器调度指令,以使该目标宿主机创建并运行对应容器,并基于该容器向所述容器创建请求的发出方提供服务。
在步骤300中,可以通过镜像仓库拉取指定镜像到本地,根据要求在宿主机上分配响应的资源,调用容器运行装置实现容器运行,以输出服务。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过预先对宿主机的软硬件信息进行探测后自动生成各个宿主机的参数标签,使得各种类型的宿主机均可以无差别地纳管入MySQL集群,且能够有效提高多种软硬件混合部署的MySQL集群的调度自动化程度及智能化程度,并能够在避免多种软硬件混合部署的MySQL集群调度资源浪费的基础上,还能够有效提高MySQL集群的调度效率,以有效降低MySQL集群调度过程的时间成本及运维成本,进而能够保证MySQL集群的运行稳定性及可靠性,并能够有效提高MySQL集群的调度运维人员的用户体验。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种软硬件混合部署的MySQL集群调度方法,其特征在于,包括:
获取接收到的容器创建请求对应的镜像以及该镜像的目标参数信息;
根据所述目标参数信息对软硬件混合部署的MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,其中,所述参数标签为预先对宿主机的软硬件信息进行探测后自动生成的;
向所述目标宿主机发送容器调度指令,以使该目标宿主机创建并运行对应容器,并基于该容器向所述容器创建请求的发出方提供服务;
所述获取接收到的容器创建请求对应的镜像以及该镜像的目标参数信息,包括:
接收容器创建请求对应的报文,并根据该报文自预设的镜像仓库中拉取对应的镜像;
对所述镜像进行镜像内容解析,以得到该镜像的目标参数信息;
其中,所述目标参数信息包括:用于表示镜像是否为MySQL镜像的第一信息、用于指定待运行的CPU架构的第二信息和用于指定软件环境的第三信息;
所述根据所述目标参数信息对软硬件混合部署的MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,包括:
对所述第一信息、第二信息和第三信息进行组合调度以得到对应的组合调度信息;
将所述对应的组合调度信息分别与所述MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机。
2.根据权利要求1所述的软硬件混合部署的MySQL集群调度方法,其特征在于,在所述获取接收到的容器创建请求对应的镜像以及该镜像的目标参数信息之前,还包括:
基于信息探测装置对当前待加入所述MySQL集群中的宿主机进行信息探测,得到该宿主机的软硬件信息,其中,所述信息探测装置应用预设的自动运维工具生成;
根据待加入所述MySQL集群中的宿主机的软硬件信息生成该宿主机的参数标签;
将待加入所述MySQL集群中的宿主机加入所述MySQL集群。
3.根据权利要求2所述的软硬件混合部署的MySQL集群调度方法,其特征在于,所述将待加入所述MySQL集群中的宿主机加入所述MySQL集群,包括:
对待加入所述MySQL集群中的宿主机进行所述MySQL集群的集群通信组件安装和容器运行环境安装处理;
以及,将所述MySQL集群中的集群管理节点相关的证书安装至待加入所述MySQL集群中的宿主机,以使该宿主机加入所述MySQL集群;
将待加入所述MySQL集群中的宿主机的参数标签发送至所述MySQL集群中的集群管理节点进行存储。
4.根据权利要求1所述的软硬件混合部署的MySQL集群调度方法,其特征在于,所述将所述组合调度信息分别与所述MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,包括:
基于预设的预选规则,在所述MySQL集群中选取与所述组合调度信息匹配的宿主机以形成预选宿主机集;
若所述预选宿主机集中的宿主机个数等于1,则将该所述预选宿主机集中的宿主机确定为与所述目标参数信息对应的目标宿主机。
5.根据权利要求4所述的软硬件混合部署的MySQL集群调度方法,其特征在于,所述将所述组合调度信息分别与所述MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,还包括:
若所述预选宿主机集中的宿主机个数大于1,则基于预设的优选评分规则在所述预选宿主机选取分值最高的宿主机,并将该宿主机确定为与所述目标参数信息对应的目标宿主机。
6.一种软硬件混合部署的MySQL集群调度装置,其特征在于,包括:
镜像解析模块,用于获取接收到的容器创建请求对应的镜像以及该镜像的目标参数信息;
标签匹配模块,用于根据所述目标参数信息对软硬件混合部署的MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,其中,所述参数标签为预先对宿主机的软硬件信息进行探测后自动生成的;
容器调度模块,用于向所述目标宿主机发送容器调度指令,以使该目标宿主机创建并运行对应容器,并基于该容器向所述容器创建请求的发出方提供服务;
所述获取接收到的容器创建请求对应的镜像以及该镜像的目标参数信息,包括:
接收容器创建请求对应的报文,并根据该报文自预设的镜像仓库中拉取对应的镜像;
对所述镜像进行镜像内容解析,以得到该镜像的目标参数信息;
其中,所述目标参数信息包括:用于表示镜像是否为MySQL镜像的第一信息、用于指定待运行的CPU架构的第二信息和用于指定软件环境的第三信息;
所述根据所述目标参数信息对软硬件混合部署的MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机,包括:
对所述第一信息、第二信息和第三信息进行组合调度以得到对应的组合调度信息;
将所述对应的组合调度信息分别与所述MySQL集群中的各个宿主机的参数标签分别进行匹配,以选取得到与所述目标参数信息对应的目标宿主机。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述的软硬件混合部署的MySQL集群调度方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5任一项所述的软硬件混合部署的MySQL集群调度方法。
CN202110168880.3A 2021-02-07 2021-02-07 软硬件混合部署的MySQL集群调度方法及装置 Active CN112905337B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110168880.3A CN112905337B (zh) 2021-02-07 2021-02-07 软硬件混合部署的MySQL集群调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110168880.3A CN112905337B (zh) 2021-02-07 2021-02-07 软硬件混合部署的MySQL集群调度方法及装置

Publications (2)

Publication Number Publication Date
CN112905337A CN112905337A (zh) 2021-06-04
CN112905337B true CN112905337B (zh) 2024-03-26

Family

ID=76123681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110168880.3A Active CN112905337B (zh) 2021-02-07 2021-02-07 软硬件混合部署的MySQL集群调度方法及装置

Country Status (1)

Country Link
CN (1) CN112905337B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434281B (zh) * 2021-07-19 2024-05-28 上海幻电信息科技有限公司 设备调度方法及云平台
CN114661427B (zh) * 2022-05-18 2022-08-19 深圳致星科技有限公司 部署容器化应用服务的计算集群的节点管理方法及系统
CN115695529B (zh) * 2023-01-04 2023-03-28 深圳市万睿智能科技有限公司 智能化远程运维方法、装置、计算机设备及存储介质
CN116541133B (zh) * 2023-07-05 2023-09-15 苏州浪潮智能科技有限公司 容器应用的纳管方法、其装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108399101A (zh) * 2017-02-06 2018-08-14 腾讯科技(深圳)有限公司 资源调度的方法、装置和系统
CN109144670A (zh) * 2018-08-20 2019-01-04 郑州云海信息技术有限公司 一种资源调度方法及装置
CN110851143A (zh) * 2018-08-21 2020-02-28 阿里巴巴集团控股有限公司 源码部署方法、装置、设备及存储介质
CN111625316A (zh) * 2020-05-15 2020-09-04 苏州浪潮智能科技有限公司 一种环境部署方法、装置及电子设备和存储介质
CN111767145A (zh) * 2020-06-24 2020-10-13 中国工商银行股份有限公司 容器调度系统、方法、装置和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108399101A (zh) * 2017-02-06 2018-08-14 腾讯科技(深圳)有限公司 资源调度的方法、装置和系统
CN109144670A (zh) * 2018-08-20 2019-01-04 郑州云海信息技术有限公司 一种资源调度方法及装置
CN110851143A (zh) * 2018-08-21 2020-02-28 阿里巴巴集团控股有限公司 源码部署方法、装置、设备及存储介质
CN111625316A (zh) * 2020-05-15 2020-09-04 苏州浪潮智能科技有限公司 一种环境部署方法、装置及电子设备和存储介质
CN111767145A (zh) * 2020-06-24 2020-10-13 中国工商银行股份有限公司 容器调度系统、方法、装置和设备

Also Published As

Publication number Publication date
CN112905337A (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
CN112905337B (zh) 软硬件混合部署的MySQL集群调度方法及装置
US11656852B2 (en) System and method for autowiring of a microservice architecture
US11146620B2 (en) Systems and methods for instantiating services on top of services
US20210111957A1 (en) Methods, systems and apparatus to propagate node configuration changes to services in a distributed environment
US10678580B2 (en) Methods and apparatus to publish internal commands as an application programming interface in a cloud infrastructure
US10362096B2 (en) Lifecycle management of custom resources in a cloud computing environment
US11263058B2 (en) Methods and apparatus for limiting data transferred over the network by interpreting part of the data as a metaproperty
CN111796838B (zh) Mpp数据库自动部署方法及装置
US20180157512A1 (en) Apparatus and methods to incorporate external system to approve deployment provisioning
US9935828B2 (en) Application controller to support incremental deployment
US20220043649A1 (en) Distribution and execution of instructions in a distributed computing environment
US10235296B2 (en) Distribution and execution of instructions in a distributed computing environment
US10819650B2 (en) Dynamically adaptive cloud computing infrastructure
US20180157542A1 (en) Methods and apparatus for event-based extensibility of system logic
CN111858050B (zh) 服务器集群混合部署方法、集群管理节点及相关系统
CN109343970B (zh) 基于应用程序的操作方法、装置、电子设备及计算机介质
CN113268272B (zh) 基于私有云的应用交付方法、装置及系统
CN111414232B (zh) 虚拟机模板数据处理方法及装置
CN110719303B (zh) 一种容器化nrf的方法及系统
US11836478B2 (en) Virtual network function and physical network function software upgrade
CN115314373B (zh) 边缘服务器部署方法及装置
CN112463212B (zh) 一种支持跨系统平台的环境搭建方法及装置
US20240152504A1 (en) Data interaction method, apparatus, and electronic device
US20240069979A1 (en) Container scheduling
CN117785322A (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
GR01 Patent grant
GR01 Patent grant