CN114827177B - 一种分布式文件系统的部署方法、装置及电子设备 - Google Patents

一种分布式文件系统的部署方法、装置及电子设备 Download PDF

Info

Publication number
CN114827177B
CN114827177B CN202210430431.6A CN202210430431A CN114827177B CN 114827177 B CN114827177 B CN 114827177B CN 202210430431 A CN202210430431 A CN 202210430431A CN 114827177 B CN114827177 B CN 114827177B
Authority
CN
China
Prior art keywords
container group
tracking
storage
configuration information
kubernetes
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
CN202210430431.6A
Other languages
English (en)
Other versions
CN114827177A (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.)
Hangzhou Ezviz Software Co Ltd
Original Assignee
Hangzhou Ezviz Software 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 Ezviz Software Co Ltd filed Critical Hangzhou Ezviz Software Co Ltd
Priority to CN202210430431.6A priority Critical patent/CN114827177B/zh
Publication of CN114827177A publication Critical patent/CN114827177A/zh
Application granted granted Critical
Publication of CN114827177B publication Critical patent/CN114827177B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种分布式文件系统的部署方法、装置及电子设备,应用于分布式文件系统技术领域。该方法应用于Kubernetes中的部署端,该方法包括:当监听到分布式文件系统的部署请求时,获取部署请求中所携带的配置信息;其中,配置信息中包括关于分布式文件系统中所需包含的跟踪服务器的第一配置信息,以及,关于分布式文件系统中所需包含的存储服务器的第二配置信息;基于第一配置信息,在Kubernetes中,部署用于作为跟踪服务器的跟踪容器组;基于第二配置信息和跟踪容器组的第一通信信息,在Kubernetes中,部署用于作为存储服务器的、且跟踪容器组待进行管理的存储容器组。通过本方案,可以减少服务器资源的消耗,并提升分布式文件系统的部署运维效率。

Description

一种分布式文件系统的部署方法、装置及电子设备
技术领域
本发明涉及分布式文件系统技术领域,特别是涉及一种分布式文件系统的部署方法、装置及电子设备。
背景技术
分布式文件系统(Distributed file system,简称DFS)主要用于解决海量数据存储问题,特别适合以中小文件为载体的在线服务,主要功能包括:文件存储,文件同步和文件访问等。通常情况下,分布式文件系统由跟踪服务器、存储服务器和客户端组成,示例性,FastDFS是一个开源的高性能分布式文件系统,FastDFS内包含有三个角色:TrackerServer(跟踪服务器)、Storage Server(存储服务器)和Client(客户端)。
分布式文件系统的部署是应用分布式文件的基础,其中,分布式文件系统的部署主要指在服务器集群中,对分布式文件系统中的跟踪服务器和存储服务器的部署。相关技术中,为了自动化部署分布式文件系统,首先需要搭建独立于服务器集群之外的部署服务器,部署过程中,部署服务器通过与服务器集群远程连接,向服务器集群发送用于部署分布式文件系统的部署指令,以完成对分布式文件系统的部署。
可见,相关技术中的分布式文件系统的部署方案中,需要搭建独立于服务器集群之外的部署服务器,从而造成了服务器资源的浪费。
发明内容
本发明实施例的目的在于提供一种分布式文件系统的部署方法、装置及电子设备,以减少服务器资源的消耗,并提升分布式文件系统的部署运维效率。具体技术方案如下:
第一方面,本发明实施例提高一种分布式文件系统的部署方法,应用于容器集群管理系统Kubernetes中的部署端,所述方法包括:
当监听到分布式文件系统的部署请求时,获取所述部署请求中所携带的配置信息;其中,所述配置信息中包括关于所述分布式文件系统中所需包含的跟踪服务器的第一配置信息,以及,关于所述分布式文件系统中所需包含的存储服务器的第二配置信息;
基于所述第一配置信息,在所述Kubernetes中,部署用于作为所述跟踪服务器的跟踪容器组;
基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组;
其中,所述跟踪服务容器组用于管理已注册到自身的容器组,且所述第一通信信息为所述存储容器组向所述跟踪容器组进行注册时所需要依赖的信息。
可选的,所述基于所述第一配置信息,在所述Kubernetes中,部署用于作为所述跟踪服务器的跟踪容器组,包括:
基于所述第一配置信息,生成第一配置文件;
利用所述第一配置文件,在所述Kubernetes中,部署用于作为所述跟踪服务器的跟踪容器组;
所述基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组,包括:
基于所述第二配置信息和所述跟踪容器组的第一通信信息,生成的第二配置文件;
利用所述第二配置文件,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组。
可选的,所述第二配置信息包括第一数量,所述第一数量为所述分布式文件系统中所需包含的存储服务器组的数量;每一存储服务器组包括至少一存储服务器;
所述基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组,包括:
基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署所述第一数量个存储容器组集合;其中,每一存储容器组集合中包括至少一存储容器组,每一存储容器组作为所述存储服务器且所述跟踪服务器待进行管理,同一存储容器组集合内的各存储容器组互为主备。
可选的,所述配置信息中还包括:关于所述分布式文件系统中所需包含的反向代理服务器的第三配置信息;
在所述基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署所述第一数量个存储容器组集合之后,所述方法还包括:
基于所述第三配置信息和所述存储容器组的第二通信信息,在所述Kubernetes中,部署用于作为所述反向代理服务器的、且为所述存储容器组提供反向代理服务的反向代理容器组;其中,所述第二通信信息为所述反向代理容器组在为所述存储容器组提供反向代理服务时所需依赖的信息。
可选的,在所述分布式文件系统中的反向代理服务器具有回源功能的情况下,所述基于所述第三配置信息和所述存储容器组的第二通信信息,在所述Kubernetes中,部署用于作为所述反向代理服务器的、且为所述存储容器组提供反向代理服务的反向代理容器组,包括:
基于所述第三配置信息、所述存储容器组的第二通信信息以及所述第一通信信息,在所述Kubernetes中,部署用于作为所述反向代理服务器的、且为所述存储容器组提供反向代理服务的反向代理容器组,所述反向代理容器组用于基于所述第一通信信息进行回源服务。
可选的,所述反向代理容器组的数量为多个;在所述基于所述第三配置信息和所述存储容器组的第二通信信息,在所述Kubernetes中,部署用于作为所述反向代理服务器的、且为所述存储容器组提供反向代理服务的反向代理容器组之后,所述方法包括:
在所述Kubernetes中,启动针对多个反向代理容器组的第一负载均衡服务,其中,所述第一负载均衡服务用于接收针对分布式文件系统的文件下载请求,并为所述文件下载请求分配反向代理容器组。
可选的,所述跟踪容器组、所述存储容器组以及所述反向代理容器组为有状态容器组。
可选的,所述跟踪容器组的数量为多个;
在所述基于所述第一配置信息,在所述Kubernetes中,部署用于作为所述跟踪服务器的跟踪容器组之后,所述方法包括:
在所述Kubernetes中,启动针对所述多个跟踪容器组的第二负载均衡服务;其中,所述第二负载均衡服务用于接收针对分布式文件系统的文件上传请求,并为所述文件上传请求分配跟踪容器组。
可选的,在所述基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组之后,所述方法还包括:
当监听到针对已部署的分布式文件系统的指定节点的数量变更请求时,将所述已部署的分布式文件系统内的、所述指定节点的数量调整至所述数量变更请求所指示的数量;
其中,所述指定节点为跟踪容器组及存储容器组中的至少一种。
第二方面,本发明实施例提供一种分布式文件系统的部署装置,应用于容器集群管理系统Kubernetes中的部署端,所述装置包括:
信息获取模块,用于当监听到分布式文件系统的部署请求时,获取所述部署请求中所携带的配置信息;其中,所述配置信息中包括关于所述分布式文件系统中所需包含的跟踪服务器的第一配置信息,以及,关于所述分布式文件系统中所需包含的存储服务器的第二配置信息;
第一容器组部署模块,用于基于所述第一配置信息,在所述Kubernetes中,部署用于作为所述跟踪服务器的跟踪容器组;
第二容器组部署模块,用于基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组;
其中,所述跟踪服务容器组用于管理已注册到自身的容器组,且所述第一通信信息为所述存储容器组向所述跟踪容器组进行注册时所需要依赖的信息。
可选的,所述第一容器组部署模块,具体用于基于所述第一配置信息,生成第一配置文件;利用所述第一配置文件,在所述Kubernetes中,部署用于作为所述跟踪服务器的跟踪容器组;
所述第二容器组部署模块,具体用于基于所述第二配置信息和所述跟踪容器组的第一通信信息,生成的第二配置文件;利用所述第二配置文件,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组。
可选的,所述第二配置信息包括第一数量,所述第一数量为所述分布式文件系统中所需包含的存储服务器组的数量;每一存储服务器组包括至少一存储服务器;
所述第二容器组部署模块,具体用于基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署所述第一数量个存储容器组集合;其中,每一存储容器组集合中包括至少一存储容器组,每一存储容器组作为所述存储服务器且所述跟踪服务器待进行管理,同一存储容器组集合内的各存储容器组互为主备。
可选的,所述配置信息中还包括:关于所述分布式文件系统中所需包含的反向代理服务器的第三配置信息;所述装置还包括:
第三容器组部署模块,用于在所述第二容器组部署模块执行所述基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署所述第一数量个存储容器组集合之后,基于所述第三配置信息和所述存储容器组的第二通信信息,在所述Kubernetes中,部署用于作为所述反向代理服务器的、且为所述存储容器组提供反向代理服务的反向代理容器组;其中,所述第二通信信息为所述反向代理容器组在为所述存储容器组提供反向代理服务时所需依赖的信息。
可选的,在所述分布式文件系统中的反向代理服务器具有回源功能的情况下,所述第三容器组部署模块,具体用于基于所述第三配置信息、所述存储容器组的第二通信信息以及所述第一通信信息,在所述Kubernetes中,部署用于作为所述反向代理服务器的、且为所述存储容器组提供反向代理服务的反向代理容器组,所述反向代理容器组用于基于所述第一通信信息进行回源服务。
可选的,所述反向代理容器组的数量为多个;所述装置还包括:
第一服务启动模块,用于在所述第三容器组部署模块执行基于所述第三配置信息和所述存储容器组的第二通信信息,在所述Kubernetes中,部署用于作为所述反向代理服务器的、且为所述存储容器组提供反向代理服务的反向代理容器组之后,在所述Kubernetes中,启动针对多个反向代理容器组的第一负载均衡服务,其中,所述第一负载均衡服务用于接收针对分布式文件系统的文件下载请求,并为所述文件下载请求分配反向代理容器组。
可选的,所述跟踪容器组、所述存储容器组以及所述反向代理容器组为有状态容器组。
可选的,所述跟踪容器组的数量为多个;所述装置还包括:
第二服务启动模块,用于在所述第一容器组部署模块执行所述基于所述第一配置信息,在所述Kubernetes中,部署用于作为所述跟踪服务器的跟踪容器组之后,在所述Kubernetes中,启动针对所述多个跟踪容器组的第二负载均衡服务;其中,所述第二负载均衡服务用于接收针对分布式文件系统的文件上传请求,并为所述文件上传请求分配跟踪容器组。
可选的,所述装置还包括:
数量变更模块,用于在所述第二容器组部署模块执行所述基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组之后,当监听到针对已部署的分布式文件系统的指定节点的数量变更请求时,将所述已部署的分布式文件系统内的、所述指定节点的数量调整至所述数量变更请求所指示的数量;其中,所述指定节点为跟踪容器组及存储容器组中的至少一种。
第三方面,本发明实施例提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。
本发明实施例有益效果:
本发明实施例提供的分布式文件系统的部署方法、装置及电子设备,当Kubernetes中的部署端监听到分布式文件系统的部署请求时,可以获取部署请求中所携带的配置信息,进而在Kubernetes中部署用于作为跟踪服务器的跟踪容器组,以及作为存储服务器的、且跟踪容器组待进行管理的存储容器组,从而基于Kubernetes实现了分布式文件系统的部署,由于在部署过程中,是由Kubernetes中的部署端执行部署操作,部署端与分布式文件系统在同一Kubernetes集群中,因此,整个部署过程中并不需要额外增加用于部署的服务器,从而减少了服务器资源的消耗。
进一步的,由于在部署分布式文件系统时,用户只需要向Kubernetes中的部署端发送部署请求,即可实现分布式文件系统的自动部署,从而简化了分布式文件系统部署流程,提升了分布式文件系统的部署效率。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为常规Kubernetes的结构示意图;
图2为本发明实施例所提供的一种Kubernetes的结构示意图;
图3为本发明实施例所提供的一种分布式文件系统的部署方法的流程图;
图4为本发明实施例所提供的一种Kubernetes中部署分布式文件系统的示意图;
图5为本发明实施例所提供的另一种Kubernetes中部署分布式文件系统的示意图;
图6为本发明实施例所提供的另一种Kubernetes中部署分布式文件系统的示意图;
图7为本发明实施例所提供的另一种Kubernetes中部署分布式文件系统的示意图;
图8为本发明实施例所提供的另一种分布式文件系统的部署方法的流程图;
图9为本发明实施例所提供的分布式文件系统的部署装置的结构示意图;
图10为本发明实施例所提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
分布式文件系统的部署是应用分布式文件的基础,相关技术中,需要搭建独立于服务器集群之外的部署服务器,部署过程中,部署服务器通过与服务器集群远程连接,向服务器集群发送用于部署分布式文件系统的部署指令,以完成对分布式文件系统的部署。
示例性的,一种利用Ansible(一种自动化运维工具)自动部署分布式文件系统的技术方案中,部署服务器(在该方案中也称为部署域)中需要装载Ansible部署模块,Ansible部署模块中包含Ansible-Playbook(剧本模块)。当需要在服务器集群(在该方案中也称为主机域)内部署分布式文件系统时,用户将编写好的部署脚本写入部署服务器的Ansible部署模块中,使得Ansible部署模块根据部署脚本,通过Ansible-Playbook向服务器集群发送部署指令,服务器集群根据部署指令执行分布式文件系统的部署任务。
上述方案中,由于需要搭建独立于服务器集群之外的部署服务器,从而造成了服务器资源的浪费。
为了减少服务器资源的消耗,以及提升分布式文件系统的部署效率,本发明实施例提供了一种应用于容器集群管理系统Kubernetes中的部署端的分布式文件系统的部署方法、装置及电子设备。
其中,Kubernetes(简称K8s)是一个开源的,用于管理云平台中多个主机上的容器化的应用。Kubernetes提供了应用部署,规划,更新,维护的一种机制。如图1所示,为一种常规Kubernetes的结构示意图,Kubernetes包括Master(控制端)和多个节点(Node)。其中,Master中包括控制器(Controller)、APIServer、调度器(Scheduler)和存储器(etcd),上述APIServer为Master中用于处理API操作的组件,Master内的其他组件以及Kubernetes中的节点均与APIServer连接。上述每一节点中包括至少一容器组(pod),每一容器组内包括至少一容器。
本发明实施例中,为了减少服务器资源的消耗,以及提升分布式文件系统的部署效率,,如图2所示,为本发明实施例所提供的Kubernetes的结构示意图。除图1所示结构外,Master中还包括部署端,该部署端基于Kubernetes所提供的自定义Operator(操作员)功能实现,其中,自定义Operator功能指在Kubernetes中,用户可以注册自定义的CR(CustomResource Definition,资源实例),并编写Operator Controller(控制器)来不断地检测当前Kubernetes中所定义的CR的状态,如果状态和预期不一致,则调整。
可选的,本发明实施例中,上述部署端可以包括校验模块和控制模块,其中,校验模块主要用于资源参数校验和初始化,控制模块指定具体的部署动作。
其中,本发明实施例所提供的应用于容器集群管理系统Kubernetes中的部署端的分布式文件系统的部署方法,可以包括:
当监听到分布式文件系统的部署请求时,获取部署请求中所携带的配置信息;其中,配置信息中包括关于分布式文件系统中所需包含的跟踪服务器的第一配置信息,以及,关于分布式文件系统中所需包含的存储服务器的第二配置信息;
基于第一配置信息,在Kubernetes中,部署用于作为跟踪服务器的跟踪容器组;
基于第二配置信息和跟踪容器组的第一通信信息,在Kubernetes中,部署用于作为存储服务器的、且跟踪容器组待进行管理的存储容器组;
其中,跟踪服务容器组用于管理已注册到自身的容器组,且第一通信信息为存储容器组向跟踪容器组进行注册时所需要依赖的信息。
本发明实施例上述方案中,当Kubernetes中的部署端监听到分布式文件系统的部署请求时,可以获取部署请求中所携带的配置信息,进而在Kubernetes中部署用于作为跟踪服务器的跟踪容器组,以及作为存储服务器的、且跟踪容器组待进行管理的存储容器组,从而基于Kubernetes实现了分布式文件系统的部署,由于在部署过程中,是由Kubernetes中的部署端执行部署操作,部署端与分布式文件系统在同一Kubernetes集群中,因此,整个部署过程中并不需要额外增加用于部署的服务器,从而减少了服务器资源的消耗。
进一步的,由于在部署分布式文件系统时,用户只需要向Kubernetes中的部署端发送部署请求,即可实现分布式文件系统的自动部署,从而简化了分布式文件系统部署流程,提升了分布式文件系统的部署效率。
下面将结合说明书附图,对本发明实施例所提供的分布式文件系统的部署方法进行详尽的阐述。
如图3所示,本发明实施例提供一种分布式文件系统的部署方法,应用于Kubernetes中的部署端包括步骤S301-S303,其中:
S301,当监听到分布式文件系统的部署请求时,获取部署请求中所携带的配置信息;
其中,在部署端为基于Kubernetes所提供的自定义Operator功能所实现时,上述分布式文件系统的部署请求可以为用户向Kubernetes申请一个自定义CR的请求。由于Kubernetes对外交互均依赖于Kubernetes中的APIServer,即用户向Kubernetes发送部署请求时,先由APIServer接收,部署端不断地监听APIServer是否接收到部署请求,当部署端监听到APIServer接收部署请求时,可以获取部署请求中所携带的配置信息。
其中,上述配置信息中包括关于分布式文件系统中所需包含的跟踪服务器的第一配置信息,以及,关于分布式文件系统中所需包含的存储服务器的第二配置信息。其中,上述第一配置信息可以包括分布式文件系统中所需包含的跟踪服务器的数量,分布式文件系统中所需包含的跟踪服务器的存储、内存大小等。类似的,上述第二配置信息可以包括分布式文件系统中所需包含的存储服务器的数量,分布式文件系统中所需包含的存储服务器的存储、内存大小等。需要强调的是,上述配置信息除上述第一配置信息和第二配置信息之外,还可以包括用户访问Kubernetes的账户信息、权限信息等。
S302,基于第一配置信息,在Kubernetes中,部署用于作为跟踪服务器的跟踪容器组;
其中,在Kubernetes中,部署用于作为跟踪服务器的跟踪容器组,即在Kubernetes中启动至少一容器组,作为分布式文件系统中所需包含的跟踪服务器。
可选的,可以基于第一配置信息,生成第一配置文件,进而利用第一配置文件,在Kubernetes中,部署用于作为跟踪服务器的跟踪容器组。
其中,第一配置文件可以为YAML格式的文件,其中YAML格式是一个可读性高,用来表达数据序列化的格式。
在获取到第一配置信息之后,可以基于第一配置信息,生成第一配置文件。示例性的,第一配置信息中包含跟踪服务器的数量为3台,内存为1GB,存储容量为100GB,则生成包含数量为3、内存为1GB以及存储容量为100GB的第一配置文件。需要强调的是,由于第一配置文件是用于生成作为跟踪服务器的跟踪容器组,因此,第一配置文件中还可以包含跟踪服务器对应的配置代码等信息。
在生成第一配置文件之后,为了在Kubernetes中部署用于作为跟踪服务器的跟踪容器组,部署端可以向Kubernetes中的APIServer发送携带该第一配置文件的容器组部署请求。APIServer接收到该容器组部署请求后,将该容器组部署请求请求发送至Kubernetes中调度器,由调度器根据该容器组部署请求中携带的第一配置文件中的需求(数量、内存大小、存储大小等),从多个节点中确定合适的跟踪容器组启动位置,从而进一步在所确定的启动位置处部署跟踪容器组。
下面以部署一个内存为1GB,存储容量为100GB的跟踪服务器为例,简单描述下Kubernetes中部署的过程。APIServer接收到部署端发送的容器组部署请求之后,APIServer将该容器组部署请求中的第一配置文件写入Kubernetes的存储器中,同时Kubernetes中的调度器会通过notification(通知)机制获取到容器组部署请求,此时调度器将根据内存状态进行一次调度决策,得到调度结果,即跟踪容器组需要被调度的节点,并将调度结果发送至API Server,APIServer接收到该调度结果之后,再将该调度结果写入存储器中,并通知相应的节点执行跟踪容器组的启动动作。相应的节点内的kubelet(节点代理)将接收到该APIServer的通知,进而调用节点内的Container runtime(容器运行时间)组件启动并配置内存为1GB,存储容量为100GB的跟踪容器组。
S303,基于第二配置信息和跟踪容器组的第一通信信息,在Kubernetes中,部署用于作为存储服务器的、且跟踪容器组待进行管理的存储容器组;
其中,由于对于分布式文件系统而言,其包含的存储服务器在部署完成之后,需要向跟踪服务器进行注册,以使跟踪服务器能够对其进行管理。从而存储服务器的部署过程中需要利用到跟踪服务器的通信信息,因此,存储服务器的部署需要在跟踪服务器部署完成之后。即跟踪服务容器组用于管理已注册到自身的容器组,且第一通信信息为存储容器组向跟踪容器组进行注册时所需要依赖的信息。
可选的,在部署完跟踪容器组之后,部署端可以获取跟踪容器组的通信信息,作为第一通信信息,该第一通信信息可以为跟踪容器组的IP(Internet Protocol,网际互连协议)地址和端口。在获取到跟踪容器组的第一通信信息之后,部署端可以基于第二配置信息和跟踪容器组的第一通信信息,在Kubernetes中,部署存储容器组,该存储容器组作为分布式文件系统内的存储服务器,且存储容器组需要被跟踪容器组管理。
一种实现方式中,可以基于第二配置信息和跟踪容器组的第一通信信息,生成的第二配置文件,进而利用第二配置文件,在Kubernetes中,部署用于作为存储服务器的、且跟踪容器组待进行管理的存储容器组。
示例性的,第二配置信息中包含存储服务器的数量为6台,内存为1GB,存储容量为200GB,则生成包含数量为6、内存为1GB以及存储容量为200GB的第二配置文件。与第一配置文件类似的,由于第二配置文件是用于生成作为存储服务器的存储容器组,因此,第二配置文件中还可以包含存储服务器对应的配置代码等信息。
在生成第二配置文件之后,为了在Kubernetes中部署用于作为存储服务器的存储容器组,部署端可以向Kubernetes中的APIServer发送携带该第一配置文件的容器组部署请求。APIServer接收到该容器组部署请求后,将该容器组部署请求请求发送至Kubernetes中调度器,由调度器根据该容器组部署请求中携带的第一配置文件中的需求,从多个节点中确定合适的存储容器组启动位置,从而进一步在所确定的启动位置处启动存储容器组。在存储容器组启动成功之后,存储容器组将利用第一通信信息向跟踪容器组进行注册,以使跟踪容器组对存储容器组进行管理。
本发明实施例上述方案中,当Kubernetes中的部署端监听到分布式文件系统的部署请求时,可以获取部署请求中所携带的配置信息,进而在Kubernetes中部署用于作为跟踪服务器的跟踪容器组,以及作为存储服务器的、且跟踪容器组待进行管理的存储容器组,从而基于Kubernetes实现了分布式文件系统的部署,由于在部署过程中,是由Kubernetes中的部署端执行部署操作,部署端与分布式文件系统在同一Kubernetes集群中,因此,整个部署过程中并不需要额外增加用于部署的服务器,从而减少了服务器资源的消耗。进一步的,由于在部署分布式文件系统时,用户只需要向Kubernetes中的部署端发送部署请求,即可实现分布式文件系统的自动部署,从而简化了分布式文件系统部署流程,提升了分布式文件系统的部署效率。
为了更清楚的展示图3所示实施例所提供的技术方案,如图4所示,本发明实施例提供一种Kubernetes中部署分布式文件系统的示意图。图4中,跟踪容器组作为分布式文件系统中的跟踪服务器,存储容器组作为分布式文件系统中的存储服务器。
可选的,在一种实施例中,上述第二配置信息还可以包括第一数量,该第一数量为分布式文件系统中所需包含的存储服务器组的数量;每一存储服务器组包括至少一存储服务器。
在此基础上,上述步骤S303可以包括:
基于第二配置信息和跟踪容器组的第一通信信息,在Kubernetes中,部署第一数量个存储容器组集合;
其中,每一存储容器组集合中包括至少一存储容器组,每一存储容器组作为存储服务器且跟踪服务器待进行管理,同一存储容器组集合内的各存储容器组互为主备。
在Kubernetes中包括第一数量个存储容器组集合的基础上,本发明实施例所提供的分布式文件系统中,除包括跟踪服务器与存储服务器外,还可以包括反向代理服务器(Nginx)。
此时,上述配置信息中还可以包括:关于分布式文件系统中所需包含的反向代理服务器的第三配置信息;
其中,第三配置信息可以包括所要部署的反向代理服务器的需求信息,如第三配置信息中可以包括:内存为10GB,存储容量为50GB。进一步的,由于反向代理服务器用于负责存储服务器的反向代理服务器,即在接收到文件下载请求时,需要反向代理服务器为文件下载请求分配负载均衡器,因此,反向代理服务器在配置过程中需要利用存储服务器的通信信息。
故而,在基于第二配置信息和跟踪容器组的第一通信信息,在Kubernetes中,部署第一数量个存储容器组集合之后,还可以基于第三配置信息和存储容器组的第二通信信息,在Kubernetes中,部署用于作为反向代理服务器的、且为存储容器组提供反向代理服务的反向代理容器组;其中,第二通信信息为反向代理容器组在为存储容器组提供反向代理服务时所需依赖的信息。
可选的,在部署反向代理容器组之前,可以先获取Kubernetes中已部署的存储容器组的第二通信信息,进而可以基于第三配置信息和存储容器组的第二通信信息,生成第三配置文件,在生成第三配置文件之后,为了在Kubernetes中部署用于作为跟踪服务器的跟踪容器组,部署端可以向Kubernetes中的APIServer发送携带该第三配置文件的容器组部署请求。APIServer接收到该容器组部署请求后,将该容器组部署请求请求发送至Kubernetes中调度器,由调度器根据该容器组部署请求中携带的第三配置文件中的需求,从多个节点中确定合适的启动位置,从而进一步在所确定的启动位置处部署反向代理容器组。
如图5所示,为本发明实施例提供的另一种Kubernetes中部署分布式文件系统的示意图。图5中,跟踪容器组作为分布式文件系统中的跟踪服务器,每一存储容器组集合内包括至少一互为主备的存储容器组,反向代理容器组作为分布式文件系统中的反向代理服务器,负载各存储容器组集合的反向代理服务。一般而言,文件上传请求首先由跟踪服务器接收,进而跟踪服务器为文件上传请求分配存储容器组集合,以将待上传的文件存入被分配存储容器组集合内的任一存储容器组,由于同一存储容器组集合内的各存储容器组互为主备,从而该存储容器组集合内的其他存储容器组通过备份的方式,更新所存储的文件。而对于文件下载请求而言,文件下载请求首先由跟踪服务器接收,进而跟踪服务器为文件下载请求发送至反向代理容器组,由反向代理容器组为文件下载请求分配存储容器组,进而从所分配的存储容器组响应该文件下载请求。
为了避免由于存储容器组集合内存储容器组相互复制延迟,导致的文件无法访问,本发明实施例所提供的分布式文件系统中的反向代理服务器还可以具备回源功能,即在存储容器组集合内存储容器组无法访问到文件时,能够重定向文件连接到源服务器取文件。由于回源功能需要依赖于跟踪服务器,即本发明实施例中的跟踪容器组,从而在分布式文件系统中的反向代理服务器具有回源功能的情况下,上述基于第三配置信息和存储容器组的第二通信信息,在Kubernetes中,部署用于作为反向代理服务器的、且为存储容器组提供反向代理服务的反向代理容器组,可以包括:
基于第三配置信息、存储容器组的第二通信信息以及第一通信信息,在Kubernetes中,部署用于作为反向代理服务器的、且为存储容器组提供反向代理服务的反向代理容器组,反向代理容器组用于基于第一通信信息进行回源服务。
在此情况下,可以首先生成第三配置信息、存储容器组的第二通信信息以及第一通信信息,生成第四配置文件,在生成第四配置文件之后,部署端可以向Kubernetes中的APIServer发送携带该第四配置文件的容器组部署请求。APIServer接收到该容器组部署请求后,将该容器组部署请求请求发送至Kubernetes中调度器,由调度器根据该容器组部署请求中携带的第四配置文件中的需求,从多个节点中确定合适的启动位置,从而进一步在所确定的启动位置处部署具有反向代理功能的反向代理容器组。
为了提供系统的容错率,以及降低单个反向代理容器组的负载,可选的,本发明的另一实施例中,上述反向代理容器组的数量为多个。当需要实现反向代理功能时,可以从多个反向代理容器组中选择一个反向代理容器组执行反向代理操作。
在此情况下,本发明实施例所提供的分布式文件系统中,还可以包括基于Kubernetes所实现的负载均衡服务,此时,在基于第三配置信息和存储容器组的第二通信信息,在Kubernetes中,部署用于作为反向代理服务器的、且为存储容器组提供反向代理服务的反向代理容器组之后,还可以在Kubernetes中,启动针对多个反向代理容器组的第一负载均衡服务,其中,第一负载均衡服务用于接收针对分布式文件系统的文件下载请求,并为文件下载请求分配反向代理容器组。
示例性的,如图6所示,为本发明实施例提供的另一种Kubernetes中部署分布式文件系统的示意图。图6中包括两个反向代理容器组和第一负载均衡服务,图中HA(HighAvailability,高可用性)图标连接两个反向代理容器组,表示两个反向代理容器组为互为主备关系。该第一负载均衡服务用于接收针对分布式文件系统的文件下载请求,并为文件下载请求分配反向代理容器组。在此情况下,对于文件下载请求而言,文件下载请求首先由第一负载均衡服务接收,第一负载均衡服务为文件下载请求发送至反向代理容器组,由反向代理容器组为文件下载请求分配存储容器组,进而从所分配的存储容器组响应该文件下载请求。
本发明上述实施例中,通过增加第一负载均衡服务,既可以减少每一反向代理容器组的负载,也可以实现上传下载分离,即文件上传请求由跟踪容器组负责进行调度,而文件下载请求不需要跟踪容器组负责,而是由第一负载均衡服务接收,从而也可以降低跟踪容器组的负载,同时采用两个反向代理容器组可以在存储容器组扩容的时候,不影响下载业务,让两个反向代理容器组逐个更新负载配置,互为主备的关系,从而提高了分布式文件系统的稳定性。
可选的,为了避免各个节点能够宕机自启动数据不丢失,上述跟踪容器组、存储容器组以及反向代理容器组为有状态容器组。即基于Kubernetes中Statefulset(状态控制)控制器的部署方式来部署跟踪容器组、存储容器组以及反向代理容器组,使得每一容器组均有位于的标识信息,且与各自的存储位置绑定,确保各个节点能够宕机自启动数据不丢失。
为了进一步的降低跟踪容器组的负载,可选的,本发明的一实施例中,上述跟踪容器组的数量为多个;
此时,在基于第一配置信息,在Kubernetes中,部署用于作为跟踪服务器的跟踪容器组之后,可以在Kubernetes中,启动针对多个跟踪容器组的第二负载均衡服务;其中,第二负载均衡服务用于接收针对分布式文件系统的文件上传请求,并为文件上传请求分配跟踪容器组。
示例性的,基于图6所示分布式文件系统的基础上,如图7所示,为本发明实施例提供的另一种Kubernetes中部署分布式文件系统的示意图。图7中包括多个跟踪容器组和第二负载均衡服务,该第二负载均衡服务用于接收针对分布式文件系统的文件上传请求,并为文件上传请求分配反向跟踪容器组。在此情况下,对于文件上传请求而言,文件上传请求首先由第二负载均衡服务接收,第二负载均衡服务为文件上传请求分配跟踪容器组。对于文件下载请求而言,文件下载请求首先由第一负载均衡服务接收,第一负载均衡服务为文件下载请求发送至反向代理容器组,由反向代理容器组为文件下载请求分配存储容器组,进而从所分配的存储容器组响应该文件下载请求。
可选的,在图3实施例的基础上,如图8所示,本发明实施例还提供一种分布式文件系统的部署方案,在步骤S303之后,还可以包括:
S304,当监听到针对已部署的分布式文件系统的指定节点的数量变更请求时,将已部署的分布式文件系统内的、指定节点的数量调整至数量变更请求所指示的数量。
其中,指定节点为跟踪容器组及存储容器组中的至少一种。
可选的,本发明一实施例中,上述变更请求为针对存储容器组的存储变更请求;
此时,可以将分布式文件系统内的存储容器组的数量调整至存储变更请求所请求的数量。
示例性的,上述存储变更请求可以为存储扩容请求,且存储扩容请求携带所需增加的存储容器组的第四配置信息,则则基于第一通信信息和第四配置信息,生成针对待增加的存储服务器的第五配置文件,进而基于第五配置文件,在Kubernetes中生成第二数量个存储容器组;其中,第二数量为存储扩容请求所指示所需增加的存储服务器的数量。
一种实现方式中,在分布式文件系统包括存储容器组集合,且存储扩容请求为关于存储容器组集合的集合增加请求的情况下,可以基于第五配置文件,在Kubernetes中生成新的存储容器组集合;其中,所生成的存储容器组集合中包含第二数量个存储容器组。
可选的,在分布式文件系统包括存储容器组集合,且存储扩容请求为关于增加存储容器组集合内存储容器组数量的容器组增加请求的情况下,可以基于第五配置文件,在每一存储容器组集合中新增第三数量个存储容器组;其中,第三数量为:第二数量与分布式文件系统中包含的存储容器组集合数量的比值。
一种实现方式中,可选的,在基于第五配置文件,在每一存储容器组集合中新增第三数量个存储容器组之前,还可以变更每一存储容器组集合的期望副本数至第三数量。
可选的,本发明一实施例中,上述存储变更请求为存储缩容请求;
此时,可以将分布式文件系统内的存储容器组的数量调整至存储缩容请求所请求的数量。
可选的,在分布式文件系统包括存储容器组集合,且存储缩容请求为关于存储容器组集合的集合消除请求的情况下,可以从分布式文件系统包括的各存储容器组集合,消除第四数量个存储容器组集合;其中,第四数量为集合消除请求所请求消除的存储容器组集合的数量。
可选的,在分布式文件系统包括存储容器组集合,且存储扩容请求为关于减少存储容器组集合内存储容器组数量的容器组减少请求的情况下,可以从分布式文件系统内每一存储容器组集合中,消除第五数量个存储容器组;其中,第五数量为容器组减少请求所请求的每一存储容器组集合内所需消除的存储容器组数量。
一种实现方式中,上述变更请求可以为针对跟踪容器组的跟踪变更请求;
此时,上述将分布式文件系统内的、变更请求所针对的节点的数量调整至变更请求所请求的数量,可以包括将分布式文件系统内的跟踪容器组的数量调整至跟踪变更请求所请求的数量。
可选的,在跟踪变更请求为跟踪扩容请求,且跟踪扩容请求携带所需增加的跟踪服务器的第五配置信息的情况下,可以基于第五配置信息,生成针对待增加的跟踪服务器的第六配置文件,进而基于第六配置文件,在Kubernetes中生成第六数量个跟踪容器组;其中,第六数量为跟踪变更请求所请求增加跟踪容器组的数量。
可选的在基于第六配置文件,在Kubernetes中生成第六数量个跟踪容器组之后,还可以获取新增的各跟踪容器组的第三通信信息,进而基于第三通信信息,更新Kubernetes中各存储服务器的配置文件,以使Kubernetes中各存储服务器基于第三通信信息向各新增的各跟踪容器组进行注册。
一种实现方式中上述跟踪变更请求为跟踪缩容请求,此时,可以在Kubernetes包含的各跟踪容器组中,消除第七数量个跟踪容器组;其中,第七数量为跟踪缩容请求所请求减少的跟踪容器组的数量。
本发明实施例上述方案中,可以实现分布式文件系统的自动部署,从而简化了分布式文件系统部署流程,提升了分布式文件系统的部署效,同时实现了分布式文件系统的扩容和缩容的自动化,进而提升了分布式文件系统的运维效率。
相应于本发明上述实施例所提供的分布式文件系统的部署方法,如图9所示,本发明实施例还提供了一种分布式文件系统的部署装置,应用于容器集群管理系统Kubernetes中的部署端,所述装置包括:
信息获取模块901,用于当监听到分布式文件系统的部署请求时,获取所述部署请求中所携带的配置信息;其中,所述配置信息中包括关于所述分布式文件系统中所需包含的跟踪服务器的第一配置信息,以及,关于所述分布式文件系统中所需包含的存储服务器的第二配置信息;
第一容器组部署模块902,用于基于所述第一配置信息,在所述Kubernetes中,部署用于作为所述跟踪服务器的跟踪容器组;
第二容器组部署模块903,用于基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组;
其中,所述跟踪服务容器组用于管理已注册到自身的容器组,且所述第一通信信息为所述存储容器组向所述跟踪容器组进行注册时所需要依赖的信息。
可选的,所述第一容器组部署模块,具体用于基于所述第一配置信息,生成第一配置文件;利用所述第一配置文件,在所述Kubernetes中,部署用于作为所述跟踪服务器的跟踪容器组;
所述第二容器组部署模块,具体用于基于所述第二配置信息和所述跟踪容器组的第一通信信息,生成的第二配置文件;利用所述第二配置文件,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组。
可选的,所述第二配置信息包括第一数量,所述第一数量为所述分布式文件系统中所需包含的存储服务器组的数量;每一存储服务器组包括至少一存储服务器;
所述第二容器组部署模块,具体用于基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署所述第一数量个存储容器组集合;其中,每一存储容器组集合中包括至少一存储容器组,每一存储容器组作为所述存储服务器且所述跟踪服务器待进行管理,同一存储容器组集合内的各存储容器组互为主备。
可选的,所述配置信息中还包括:关于所述分布式文件系统中所需包含的反向代理服务器的第三配置信息;所述装置还包括:
第三容器组部署模块,用于在所述第二容器组部署模块执行所述基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署所述第一数量个存储容器组集合之后,基于所述第三配置信息和所述存储容器组的第二通信信息,在所述Kubernetes中,部署用于作为所述反向代理服务器的、且为所述存储容器组提供反向代理服务的反向代理容器组;其中,所述第二通信信息为所述反向代理容器组在为所述存储容器组提供反向代理服务时所需依赖的信息。
可选的,在所述分布式文件系统中的反向代理服务器具有回源功能的情况下,所述第三容器组部署模块,具体用于基于所述第三配置信息、所述存储容器组的第二通信信息以及所述第一通信信息,在所述Kubernetes中,部署用于作为所述反向代理服务器的、且为所述存储容器组提供反向代理服务的反向代理容器组,所述反向代理容器组用于基于所述第一通信信息进行回源服务。
可选的,所述反向代理容器组的数量为多个;所述装置还包括:
第一服务启动模块,用于在所述第三容器组部署模块执行基于所述第三配置信息和所述存储容器组的第二通信信息,在所述Kubernetes中,部署用于作为所述反向代理服务器的、且为所述存储容器组提供反向代理服务的反向代理容器组之后,在所述Kubernetes中,启动针对多个反向代理容器组的第一负载均衡服务,其中,所述第一负载均衡服务用于接收针对分布式文件系统的文件下载请求,并为所述文件下载请求分配反向代理容器组。
可选的,所述跟踪容器组、所述存储容器组以及所述反向代理容器组为有状态容器组。
可选的,所述跟踪容器组的数量为多个;所述装置还包括:
第二服务启动模块,用于在所述第一容器组部署模块执行所述基于所述第一配置信息,在所述Kubernetes中,部署用于作为所述跟踪服务器的跟踪容器组之后,在所述Kubernetes中,启动针对所述多个跟踪容器组的第二负载均衡服务;其中,所述第二负载均衡服务用于接收针对分布式文件系统的文件上传请求,并为所述文件上传请求分配跟踪容器组。
可选的,所述装置还包括:
数量变更模块,用于在所述第二容器组部署模块执行所述基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组之后,当监听到针对已部署的分布式文件系统的指定节点的数量变更请求时,将所述已部署的分布式文件系统内的、所述指定节点的数量调整至所述数量变更请求所指示的数量;其中,所述指定节点为跟踪容器组及存储容器组中的至少一种。
本发明实施例上述方案中,当Kubernetes中的部署端监听到分布式文件系统的部署请求时,可以获取部署请求中所携带的配置信息,进而在Kubernetes中部署用于作为跟踪服务器的跟踪容器组,以及作为存储服务器的、且跟踪容器组待进行管理的存储容器组,从而基于Kubernetes实现了分布式文件系统的部署,由于在部署过程中,是由Kubernetes中的部署端执行部署操作,部署端与分布式文件系统在同一Kubernetes集群中,因此,整个部署过程中并不需要额外增加用于部署的服务器,从而减少了服务器资源的消耗。进一步的,由于在部署分布式文件系统时,用户只需要向Kubernetes中的部署端发送部署请求,即可实现分布式文件系统的自动部署,从而简化了分布式文件系统部署流程,提升了分布式文件系统的部署效率。
本发明实施例还提供了一种电子设备,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现如下步骤:
当监听到分布式文件系统的部署请求时,获取所述部署请求中所携带的配置信息;其中,所述配置信息中包括关于所述分布式文件系统中所需包含的跟踪服务器的第一配置信息,以及,关于所述分布式文件系统中所需包含的存储服务器的第二配置信息;
基于所述第一配置信息,在所述Kubernetes中,部署用于作为所述跟踪服务器的跟踪容器组;
基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组;
其中,所述跟踪服务容器组用于管理已注册到自身的容器组,且所述第一通信信息为所述存储容器组向所述跟踪容器组进行注册时所需要依赖的信息。
本发明实施例上述方案中,当Kubernetes中的部署端监听到分布式文件系统的部署请求时,可以获取部署请求中所携带的配置信息,进而在Kubernetes中部署用于作为跟踪服务器的跟踪容器组,以及作为存储服务器的、且跟踪容器组待进行管理的存储容器组,从而基于Kubernetes实现了分布式文件系统的部署,由于在部署过程中,是由Kubernetes中的部署端执行部署操作,部署端与分布式文件系统在同一Kubernetes集群中,因此,整个部署过程中并不需要额外增加用于部署的服务器,从而减少了服务器资源的消耗。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一XXXX方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一分布式文件系统的部署方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种分布式文件系统的部署方法,其特征在于,应用于容器集群管理系统Kubernetes中的部署端,所述方法包括:
当监听到分布式文件系统的部署请求时,获取所述部署请求中所携带的配置信息;其中,所述配置信息中包括关于所述分布式文件系统中所需包含的跟踪服务器的第一配置信息,以及,关于所述分布式文件系统中所需包含的存储服务器的第二配置信息;所述第二配置信息包括第一数量,所述第一数量为所述分布式文件系统中所需包含的存储服务器组的数量;每一存储服务器组包括至少一存储服务器;
基于所述第一配置信息,在所述Kubernetes中,部署用于作为所述跟踪服务器的跟踪容器组;
基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组;其中,所述跟踪服务器的跟踪容器组用于管理已注册到自身的容器组,且所述第一通信信息为所述存储容器组向所述跟踪容器组进行注册时所需要依赖的信息;
所述基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组,包括:
基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署所述第一数量个存储容器组集合;其中,每一存储容器组集合中包括至少一存储容器组,每一存储容器组作为所述存储服务器、且所述跟踪服务器对其待进行管理,同一存储容器组集合内的各存储容器组互为主备;
所述配置信息中还包括:关于所述分布式文件系统中所需包含的反向代理服务器的第三配置信息;
基于所述第三配置信息和所述存储容器组的第二通信信息,在所述Kubernetes中,部署用于作为所述反向代理服务器的、且为所述存储容器组提供反向代理服务的反向代理容器组;其中,所述第二通信信息为所述反向代理容器组在为所述存储容器组提供反向代理服务时所需依赖的信息。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一配置信息,在所述Kubernetes中,部署用于作为所述跟踪服务器的跟踪容器组,包括:
基于所述第一配置信息,生成第一配置文件;
利用所述第一配置文件,在所述Kubernetes中,部署用于作为所述跟踪服务器的跟踪容器组;
所述基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组,包括:
基于所述第二配置信息和所述跟踪容器组的第一通信信息,生成的第二配置文件;
利用所述第二配置文件,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组。
3.根据权利要求1所述的方法,其特征在于,在所述分布式文件系统中的反向代理服务器具有回源功能的情况下,所述基于所述第三配置信息和所述存储容器组的第二通信信息,在所述Kubernetes中,部署用于作为所述反向代理服务器的、且为所述存储容器组提供反向代理服务的反向代理容器组,包括:
基于所述第三配置信息、所述存储容器组的第二通信信息以及所述第一通信信息,在所述Kubernetes中,部署用于作为所述反向代理服务器的、且为所述存储容器组提供反向代理服务的反向代理容器组,所述反向代理容器组用于基于所述第一通信信息进行回源服务。
4.根据权利要求1所述的方法,其特征在于,所述反向代理容器组的数量为多个;在所述基于所述第三配置信息和所述存储容器组的第二通信信息,在所述Kubernetes中,部署用于作为所述反向代理服务器的、且为所述存储容器组提供反向代理服务的反向代理容器组之后,所述方法包括:
在所述Kubernetes中,启动针对多个反向代理容器组的第一负载均衡服务,其中,所述第一负载均衡服务用于接收针对分布式文件系统的文件下载请求,并为所述文件下载请求分配反向代理容器组。
5.根据权利要求1所述的方法,其特征在于,所述跟踪容器组、所述存储容器组以及所述反向代理容器组为有状态容器组。
6.根据权利要求1所述的方法,其特征在于,所述跟踪容器组的数量为多个;
在所述基于所述第一配置信息,在所述Kubernetes中,部署用于作为所述跟踪服务器的跟踪容器组之后,所述方法包括:
在所述Kubernetes中,启动针对所述多个跟踪容器组的第二负载均衡服务;其中,所述第二负载均衡服务用于接收针对分布式文件系统的文件上传请求,并为所述文件上传请求分配跟踪容器组。
7.根据权利要求1-6任一项所述的方法,其特征在于,在所述基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组之后,所述方法还包括:
当监听到针对已部署的分布式文件系统的指定节点的数量变更请求时,将所述已部署的分布式文件系统内的、所述指定节点的数量调整至所述数量变更请求所指示的数量;
其中,所述指定节点为跟踪容器组及存储容器组中的至少一种。
8.一种分布式文件系统的部署装置,其特征在于,应用于容器集群管理系统Kubernetes中的部署端,所述装置包括:
信息获取模块,用于当监听到分布式文件系统的部署请求时,获取所述部署请求中所携带的配置信息;其中,所述配置信息中包括关于所述分布式文件系统中所需包含的跟踪服务器的第一配置信息,以及,关于所述分布式文件系统中所需包含的存储服务器的第二配置信息;
第一容器组部署模块,用于基于所述第一配置信息,在所述Kubernetes中,部署用于作为所述跟踪服务器的跟踪容器组;
第二容器组部署模块,用于基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署用于作为所述存储服务器的、且所述跟踪容器组待进行管理的存储容器组;其中,所述跟踪服务器的跟踪容器组用于管理已注册到自身的容器组,且所述第一通信信息为所述存储容器组向所述跟踪容器组进行注册时所需要依赖的信息;
所述第二容器组部署模块,具体用于基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署第一数量个存储容器组集合;其中,每一存储容器组集合中包括至少一存储容器组,每一存储容器组作为所述存储服务器、且所述跟踪服务器对其待进行管理,同一存储容器组集合内的各存储容器组互为主备;
所述配置信息中还包括:关于所述分布式文件系统中所需包含的反向代理服务器的第三配置信息;
第三容器组部署模块,用于在所述第二容器组部署模块执行所述基于所述第二配置信息和所述跟踪容器组的第一通信信息,在所述Kubernetes中,部署所述第一数量个存储容器组集合之后,基于所述第三配置信息和所述存储容器组的第二通信信息,在所述Kubernetes中,部署用于作为所述反向代理服务器的、且为所述存储容器组提供反向代理服务的反向代理容器组;其中,所述第二通信信息为所述反向代理容器组在为所述存储容器组提供反向代理服务时所需依赖的信息。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。
CN202210430431.6A 2022-04-22 2022-04-22 一种分布式文件系统的部署方法、装置及电子设备 Active CN114827177B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210430431.6A CN114827177B (zh) 2022-04-22 2022-04-22 一种分布式文件系统的部署方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210430431.6A CN114827177B (zh) 2022-04-22 2022-04-22 一种分布式文件系统的部署方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN114827177A CN114827177A (zh) 2022-07-29
CN114827177B true CN114827177B (zh) 2024-03-08

Family

ID=82505722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210430431.6A Active CN114827177B (zh) 2022-04-22 2022-04-22 一种分布式文件系统的部署方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN114827177B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116614521B (zh) * 2023-07-18 2023-10-13 中移(苏州)软件技术有限公司 对接服务方法及系统、分布式文件系统及双活节点

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878385A (zh) * 2016-12-30 2017-06-20 新华三技术有限公司 私有云部署方法及装置
CN108170820A (zh) * 2018-01-02 2018-06-15 联想(北京)有限公司 一种容器处理方法、控制服务器及分布式集群
CN112965785A (zh) * 2021-03-05 2021-06-15 食亨(上海)科技服务有限公司 基于容器的微服务应用开发方法及开发平台
CN114281263A (zh) * 2021-12-27 2022-04-05 深圳市名竹科技有限公司 容器集群管理系统的存储资源处理方法、系统和设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10601917B2 (en) * 2017-06-27 2020-03-24 Red Hat, Inc. Containerized high-performance network storage

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878385A (zh) * 2016-12-30 2017-06-20 新华三技术有限公司 私有云部署方法及装置
CN108170820A (zh) * 2018-01-02 2018-06-15 联想(北京)有限公司 一种容器处理方法、控制服务器及分布式集群
CN112965785A (zh) * 2021-03-05 2021-06-15 食亨(上海)科技服务有限公司 基于容器的微服务应用开发方法及开发平台
CN114281263A (zh) * 2021-12-27 2022-04-05 深圳市名竹科技有限公司 容器集群管理系统的存储资源处理方法、系统和设备

Also Published As

Publication number Publication date
CN114827177A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
US11157304B2 (en) System for peering container clusters running on different container orchestration systems
US11829742B2 (en) Container-based server environments
CN109196474B (zh) 计算系统中的分布式操作控制
CN106537338B (zh) 自扩展云
CN109491776B (zh) 任务编排方法和系统
JP6549787B2 (ja) ネットワークサービスをデプロイするための方法及び装置
US9015177B2 (en) Dynamically splitting multi-tenant databases
US9525592B2 (en) Client/server network environment setup method and system
US10581704B2 (en) Cloud system for supporting big data process and operation method thereof
US20090199175A1 (en) Dynamic Allocation of Virtual Application Server
RU2653292C2 (ru) Перенос служб через границы кластеров
CN105100259A (zh) 一种分布式定时任务执行方法和系统
US20210240544A1 (en) Collaboration service to support cross-process coordination between active instances of a microservice
CN107172214B (zh) 一种具有负载均衡的服务节点发现方法及装置
CN109104368B (zh) 一种请求连接方法、装置、服务器及计算机可读存储介质
CN112153167A (zh) 网际互连协议管理方法、装置、电子设备及存储介质
CN114827177B (zh) 一种分布式文件系统的部署方法、装置及电子设备
US10572268B2 (en) Network booting in a peer-to-peer environment using dynamic magnet links
CN114615268B (zh) 基于Kubernetes集群的服务网络、监控节点、容器节点及设备
US10824511B2 (en) Data migration for a shared database
CN111078135B (zh) 数据处理环境中的虚拟节点的增强数据存储
CN114072768A (zh) 用于桥接数据库架构的控制器
US11768704B2 (en) Increase assignment effectiveness of kubernetes pods by reducing repetitive pod mis-scheduling
US20180150336A1 (en) Management system and control method
US11556334B2 (en) Systems and methods for gradually updating a software object on a plurality of computer nodes

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