CN113419813B - 一种基于容器平台部署裸机管理服务的方法及装置 - Google Patents
一种基于容器平台部署裸机管理服务的方法及装置 Download PDFInfo
- Publication number
- CN113419813B CN113419813B CN202110556041.9A CN202110556041A CN113419813B CN 113419813 B CN113419813 B CN 113419813B CN 202110556041 A CN202110556041 A CN 202110556041A CN 113419813 B CN113419813 B CN 113419813B
- Authority
- CN
- China
- Prior art keywords
- deployment file
- file
- bare metal
- management service
- setting
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 239000002184 metal Substances 0.000 claims abstract description 103
- 238000013507 mapping Methods 0.000 claims abstract description 16
- 238000004590 computer program Methods 0.000 claims description 7
- 238000007726 management method Methods 0.000 description 85
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 239000004020 conductor Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于容器平台部署裸机管理服务的方法、系统、设备和存储介质,方法包括:设置第一部署文件,在所述第一部署文件中将裸机管理服务的标签设置为使能,并将所述裸机管理服务的子服务设置为预设模式;设置第二部署文件,在所述第二部署文件中创建文件目录,并将所述文件目录映射到所述子服务中;设置第三部署文件,在所述第三部署文件中将IP部分设置为固定的字符并定义变量,并基于所述变量获取主机的IP,使用获取的IP替换所述固定的字符;以及根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务。本发明通过编写三个chart文件,能够快速高效的将裸机管理服务部署在kubernetes平台上。
Description
技术领域
本发明涉及云平台领域,更具体地,特别是指一种基于容器平台部署裸机管理服务的方法、系统、计算机设备及可读介质。
背景技术
云平台对于科技发展的重要性毋庸置疑。由于经济与社会信息化的不断发展,政府对信息化的需求也提出了越来越高的要求。实现云平台快速、高效的部署搭建,以及后续能够稳定的运行对于一个成熟的云平台来说至关重要,而传统的方式还是将云平台部署于物理机之上。
Ironic(裸机管理服务)是Openstack项目中用于裸机部署和管理的组件,但是其部署依赖于对预先对服务器的ipmi(Intelligent Platform Management Interface,智能平台管理接口)地址、用户名和密码等信息的配置,同时由于其本身不提供网络功能,需要使用第三方的插件,如neutron来配置网络,故在独立部署的模式下,缺乏原生的对IP地址等关键信息的配置能力,而对于数据中心,一般会对服务其的IP地址进行精确的规划,这就造成需要在部署之后手动进行IP地址的修正,而配置IP地址的工作不仅耗时、易出错,且有可能导致由于地址冲突引发的终端问题。
发明内容
有鉴于此,本发明实施例的目的在于提出一种基于容器平台部署裸机管理服务的方法、系统、计算机设备及计算机可读存储介质,本发明通过设置三个chart文件,确保在ironic标签所在的节点上同时具有ironic子服务,并且能够实现在同一节点下的文件共享,还能够根据主机的IP来替换预先定义的字符,从而将裸机管理服务快速高效的部署在kubernetes平台上。
基于上述目的,本发明实施例的一方面提供了一种基于容器平台部署裸机管理服务的方法,包括如下步骤:设置第一部署文件,在所述第一部署文件中将裸机管理服务的标签设置为使能,并将所述裸机管理服务的子服务设置为预设模式;设置第二部署文件,在所述第二部署文件中创建文件目录,并将所述文件目录映射到所述子服务中;设置第三部署文件,在所述第三部署文件中将IP部分设置为固定的字符并定义变量,并基于所述变量获取主机的IP,使用获取的IP替换所述固定的字符;以及根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务。
在一些实施方式中,所述将所述裸机管理服务的子服务设置为预设模式包括:确定所述标签所在的节点,并建立所述节点与所述裸机管理服务的子服务的关联。
在一些实施方式中,所述将所述文件目录映射到所述子服务中包括:确定所述子服务对应的集群中的最小单元,并将所述文件目录映射到所述子服务对应的最小单元以实现多个最小单元在同一节点下的文件共享。
在一些实施方式中,所述在所述第三部署文件中将IP部分设置为固定的字符并定义变量包括:将所述裸机管理服务的应用程序接口的配置文件中的IP部分定义为固定的字符,并在所述裸机管理服务的应用程序接口的容器中定义变量。
在一些实施方式中,所述根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务包括:调用云平台命令行接口创建所述裸机管理服务所需要的网络以及端口。
在一些实施方式中,所述根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务包括:确定所述主机的主机位,并设置所述裸机管理服务的主机位与所述主机的主机位相同。
在一些实施方式中,方法还包括:预安装K8S集群,并将云平台组件部署在所述K8S集群上,基于所述K8S集群运行所述第一部署文件、第二部署文件和第三部署文件。
本发明实施例的另一方面,提供了一种基于容器平台部署裸机管理服务的系统,包括:第一设置模块,配置用于设置第一部署文件,在所述第一部署文件中将裸机管理服务的标签设置为使能,并将所述裸机管理服务的子服务设置为预设模式;第二设置模块,配置用于设置第二部署文件,在所述第二部署文件中创建文件目录,并将所述文件目录映射到所述子服务中;第三设置模块,配置用于设置第三部署文件,在所述第三部署文件中将IP部分设置为固定的字符并定义变量,并基于所述变量获取主机的IP,使用获取的IP替换所述固定的字符;以及执行模块,配置用于根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务。
本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
本发明具有以下有益技术效果:通过设置三个chart文件,确保在ironic标签所在的节点上同时具有ironic子服务,并且能够实现在同一节点下的文件共享,还能够根据主机的IP来替换预先定义的字符,从而将裸机管理服务快速高效的部署在kubernetes平台上。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的基于容器平台部署裸机管理服务的方法的实施例的示意图;
图2为本发明提供的基于容器平台部署裸机管理服务的计算机设备的实施例的硬件结构示意图;
图3为本发明提供的基于容器平台部署裸机管理服务的计算机存储介质的实施例的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明实施例的第一个方面,提出了一种基于容器平台部署裸机管理服务的方法的实施例。图1示出的是本发明提供的基于容器平台部署裸机管理服务的方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
S1、设置第一部署文件,在所述第一部署文件中将裸机管理服务的标签设置为使能,并将所述裸机管理服务的子服务设置为预设模式;
S2、设置第二部署文件,在所述第二部署文件中创建文件目录,并将所述文件目录映射到所述子服务中;
S3、设置第三部署文件,在所述第三部署文件中将IP部分设置为固定的字符并定义变量,并基于所述变量获取主机的IP,使用获取的IP替换所述固定的字符;以及
S4、根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务。
Kubernetes(k8s)是Google(谷歌)开源的容器集群管理系统,在docker(容器)技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能。Kubernetes作为用于管理云平台中多个主机上的容器化的应用,目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署、规划、更新和维护的机制。
Ironic是OpenStack中提供裸机部署服务的组件,最初由Nova裸机驱动(Novabaremetal drive)发展而来。Ironic可以被看作是裸机管理程序的API(bare metalhypervisor API)以及与其交互的一组插件。
本发明的具体实施方式是通过Helm chart的方式将ironic以chart的形式部署在kubernetes之上,Helm chart表示描述相关的一组Kubernetes资源的文件集合。其具体方式如下:
可以预安装K8S集群,并将云平台组件部署在所述K8S集群上,基于所述K8S集群运行后续设置的第一部署文件、第二部署文件和第三部署文件。通过二进制或者kubespray(一种自动化部署kubernetes集群的方式)等方式预先安装一套可用的kubernetes集群。将其他必须的ICOS(一种基于OpenStack开发的云平台产品)组件部署在kubernetes平台之上,例如mariadb、keystone、rabbitmq等。
设置第一部署文件,在所述第一部署文件中将裸机管理服务的标签设置为使能,并将所述裸机管理服务的子服务设置为预设模式。编写chart文件,设置ironic的标签为ironic=enabled(使能),将ironic_conductor、ironic_ipxe、ironic_pxe设置为daemenset模式。Ironic_conductor是ironic的服务之一,接收来自ironic-API(提供裸机的应用程序接口服务)的请求,进行创建、更新、删除nodes(节点),通过IPMI、ssh(SecureShell,安全外壳协议)开关电源,或者部署bare metal(裸金属)机器,通过API对外开放其功能,与ironic_api通过RPC(Remote Procedure Call,远程过程调用)进行交互。Ironic_pxe和Ironic_ipxe均提供裸机装机服务。
在一些实施方式中,所述将所述裸机管理服务的子服务设置为预设模式包括:确定所述标签所在的节点,并建立所述节点与所述裸机管理服务的子服务的关联。选择ironic的标签所在node(节点),并建立节点与裸机管理服务的子服务的关联,这样做的目的是确保在ironic标签所在的节点上都有ironic_conductor、ironic_ipxe和ironic_pxe这三个服务,且pod数量都是一个。Node是Pod真正运行的主机,可以是物理机,也可以是虚拟机。K8S集群可以根据心跳机制对Node进行监测。Taint(污点)和Toleration(容忍)是K8S集群中的调度约束的一种实现,其通过一种打标签的方式来进行调度约束,当一个Node被打上了一个Taint则调度器在进行调度的时候,如果发现当前调度的pod没有容忍这种污点,则当前节点就不能调度过去,其次,如果发现对应节点上已经运行的pod不能容忍节点新标记的Taint,则可能会被从当前节点中驱逐。
Pod运行与节点上,若干相关容器的组合。Pod内包含的容器运行在同一宿主机上,使用相同的网络命名空间、IP地址和端口,能够通过localhost(本地主机)进行通信。Pod是K8S进行创建、调度和管理的最小单元,它提供了比容器更高层次的抽象,使得部署和管理更加灵活。一个Pod可以包含一个或者多个容器。
设置第二部署文件,在所述第二部署文件中创建文件目录,并将所述文件目录映射到所述子服务中。
在一些实施方式中,所述将所述文件目录映射到所述子服务中包括:确定所述子服务对应的集群中的最小单元,并将所述文件目录映射到所述子服务对应的最小单元以实现多个最小单元在同一节点下的文件共享。编写chart文件,在主机创建文件目录,同时将该目录映射给ironic_conductor、ironic_ipxe、ironic_pxe的pod内,用于存放ironic镜像等文件,实现这三个pod的同node下的文件共享。
设置第三部署文件,在所述第三部署文件中将IP(Internet Protocol,互联网协议)部分设置为固定的字符并定义变量,并基于所述变量获取主机的IP,使用获取的IP替换所述固定的字符。
在一些实施方式中,所述在所述第三部署文件中将IP部分设置为固定的字符并定义变量包括:将所述裸机管理服务的应用程序接口的配置文件中的IP部分定义为固定的字符,并在所述裸机管理服务的应用程序接口的容器中定义变量。编写chart文件,将ironic_api的配置文件中关于ip部分定义为一个固定的字符。在ironic_api的容器中定义变量,使该变量能够获取主机的ip,同时设置pod启动脚本中用该ip替换预先定义的字符。例如,可以将ironic_api的配置文件中关于ip部分定义为*,在ironic_api的容器中定义变量A,使得A可以获取主机的IP,然后用获取的IP去替换*。现有技术中不同节点ironic配置文件需要的ip是不一样的,而kubernetes的configmap(应用配置管理)默认是一样的,无法进行自定义,通过本发明实施例就可以解决上述问题。
根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务。
在一些实施方式中,所述根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务包括:调用云平台命令行接口创建所述裸机管理服务所需要的网络以及端口。调用ICOS CLI(Command Line Interface,命令行接口)创建ironic所需要的网络以及端口,所创建的网络的网络位可以自定义,但网络位需要是固定的。
在一些实施方式中,所述根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务包括:确定所述主机的主机位,并设置所述裸机管理服务的主机位与所述主机的主机位相同。设置所述裸机管理服务的主机位与所在主机的主机位相同,这样可以保证所有节点创建的网络地址是固定的。
在执行了网络位和主机位的创建后,检测网络是否创建成功,如果检测到网络创建成功就部署ironic,如果检测到网络创建失败则抛出异常。
在ironic配置完成后即可给裸机配置操作系统。首先,部署物理机的请求通过Nova API(应用程序接口)进入Nova(负责裸机调度);Nova scheduler(调度器)根据请求参数中的信息(指定的镜像和硬件模板等)选择合适的物理节点;Nova创建一个spawn任务,并调用ironic API部署物理节点,ironic将此次任务中所需要的硬件资源保留,并更新数据库;ironic与OpenStack的其他服务交互,从Glance服务(为裸机提供镜像服务,保存操作系统安装介质)获取部署物理节点所需的镜像资源,并调用Neutron服务(裸机网络管理和配置)为物理机创建网络端口;ironic开始部署物理节点,PXE driver(驱动)准备tftp(Trivial File Transfer Protocol,普通文件传送协议)bootloader(引导加载程序),IPMI driver设置物理机启动模式并将机器上电;物理机启动后,通过DHCP(Dynamic hostconfiguration protocol,动态主机配置协议)获得ironic Conductor(管理员)的地址并尝试通过tftp协议从Conductor获取镜像,Conductor将部署镜像部署到物理节点上后,通过iSCSI(Internet Small Computer System Interface,互联网小型计算机接口)协议将物理节点的硬盘暴露出来,随后写入用户镜像,成功部署用户镜像后,物理节点的部署就完成了。如果ironic可以成功完成上述步骤,则表明ironic的部署成功。
本发明实施例通过设置三个chart文件,确保在ironic标签所在的节点上同时具有ironic子服务,并且能够实现在同一节点下的文件共享,还能够根据主机的IP来替换预先定义的字符,从而将裸机管理服务快速高效的部署在kubernetes平台上。
需要特别指出的是,上述基于容器平台部署裸机管理服务的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于基于容器平台部署裸机管理服务的方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种基于容器平台部署裸机管理服务的系统,包括:第一设置模块,配置用于设置第一部署文件,在所述第一部署文件中将裸机管理服务的标签设置为使能,并将所述裸机管理服务的子服务设置为预设模式;第二设置模块,配置用于设置第二部署文件,在所述第二部署文件中创建文件目录,并将所述文件目录映射到所述子服务中;第三设置模块,配置用于设置第三部署文件,在所述第三部署文件中将IP部分设置为固定的字符并定义变量,并基于所述变量获取主机的IP,使用获取的IP替换所述固定的字符;以及执行模块,配置用于根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务。
在一些实施方式中,所述第一设置模块配置用于:确定所述标签所在的节点,并建立所述节点与所述裸机管理服务的子服务的关联。
在一些实施方式中,所述第二设置模块配置用于:确定所述子服务对应的集群中的最小单元,并将所述文件目录映射到所述子服务对应的最小单元以实现多个最小单元在同一节点下的文件共享。
在一些实施方式中,所述第三设置模块配置用于:将所述裸机管理服务的应用程序接口的配置文件中的IP部分定义为固定的字符,并在所述裸机管理服务的应用程序接口的容器中定义变量。
在一些实施方式中,所述执行模块配置用于:调用云平台命令行接口创建所述裸机管理服务所需要的网络以及端口。
在一些实施方式中,所述执行模块配置用于:确定所述主机的主机位,并设置所述裸机管理服务的主机位与所述主机的主机位相同。
在一些实施方式中,系统还包括预安装模块,配置用于:预安装K8S集群,并将云平台组件部署在所述K8S集群上,基于所述K8S集群运行所述第一部署文件、第二部署文件和第三部署文件。
本发明实施例通过设置三个chart文件,确保在ironic标签所在的节点上同时具有ironic子服务,并且能够实现在同一节点下的文件共享,还能够根据主机的IP来替换预先定义的字符,从而将裸机管理服务快速高效的部署在kubernetes平台上。
基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行以实现如下步骤:S1、设置第一部署文件,在所述第一部署文件中将裸机管理服务的标签设置为使能,并将所述裸机管理服务的子服务设置为预设模式;S2、设置第二部署文件,在所述第二部署文件中创建文件目录,并将所述文件目录映射到所述子服务中;S3、设置第三部署文件,在所述第三部署文件中将IP部分设置为固定的字符并定义变量,并基于所述变量获取主机的IP,使用获取的IP替换所述固定的字符;以及S4、根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务。
在一些实施方式中,所述将所述裸机管理服务的子服务设置为预设模式包括:确定所述标签所在的节点,并建立所述节点与所述裸机管理服务的子服务的关联。
在一些实施方式中,所述将所述文件目录映射到所述子服务中包括:确定所述子服务对应的集群中的最小单元,并将所述文件目录映射到所述子服务对应的最小单元以实现多个最小单元在同一节点下的文件共享。
在一些实施方式中,所述在所述第三部署文件中将IP部分设置为固定的字符并定义变量包括:将所述裸机管理服务的应用程序接口的配置文件中的IP部分定义为固定的字符,并在所述裸机管理服务的应用程序接口的容器中定义变量。
在一些实施方式中,所述根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务包括:调用云平台命令行接口创建所述裸机管理服务所需要的网络以及端口。
在一些实施方式中,所述根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务包括:确定所述主机的主机位,并设置所述裸机管理服务的主机位与所述主机的主机位相同。
在一些实施方式中,步骤还包括:预安装K8S集群,并将云平台组件部署在所述K8S集群上,基于所述K8S集群运行所述第一部署文件、第二部署文件和第三部署文件。
本发明实施例通过设置三个chart文件,确保在ironic标签所在的节点上同时具有ironic子服务,并且能够实现在同一节点下的文件共享,还能够根据主机的IP来替换预先定义的字符,从而将裸机管理服务快速高效的部署在kubernetes平台上。
如图2所示,为本发明提供的上述基于容器平台部署裸机管理服务的计算机设备的一个实施例的硬件结构示意图。
以如图2所示的装置为例,在该装置中包括一个处理器201以及一个存储器202,并还可以包括:输入装置203和输出装置204。
处理器201、存储器202、输入装置203和输出装置204可以通过总线或者其他方式连接,图2中以通过总线连接为例。
存储器202作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的基于容器平台部署裸机管理服务的方法对应的程序指令/模块。处理器201通过运行存储在存储器202中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的基于容器平台部署裸机管理服务的方法。
存储器202可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于容器平台部署裸机管理服务的方法的使用所创建的数据等。此外,存储器202可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器202可选包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置203可接收输入的用户名和密码等信息。输出装置204可包括显示屏等显示设备。
一个或者多个基于容器平台部署裸机管理服务的方法对应的程序指令/模块存储在存储器202中,当被处理器201执行时,执行上述任意方法实施例中的基于容器平台部署裸机管理服务的方法。
执行上述基于容器平台部署裸机管理服务的方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时执行如上方法的计算机程序。
如图3所示,为本发明提供的上述基于容器平台部署裸机管理服务的计算机存储介质的一个实施例的示意图。以如图3所示的计算机存储介质为例,计算机可读存储介质3存储有被处理器执行时执行如上方法的计算机程序31。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,基于容器平台部署裸机管理服务的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种基于容器平台部署裸机管理服务的方法,其特征在于,包括以下步骤:
设置第一部署文件,在所述第一部署文件中将裸机管理服务的标签设置为使能,并将所述裸机管理服务的子服务设置为预设模式;
设置第二部署文件,在所述第二部署文件中创建文件目录,并将所述文件目录映射到所述子服务中;
设置第三部署文件,在所述第三部署文件中将所述裸机管理服务的IP部分设置为固定的字符并定义变量,并基于所述变量获取容器平台的主机的IP,使用获取的IP替换所述固定的字符;以及
根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务。
2.根据权利要求1所述的方法,其特征在于,所述将所述裸机管理服务的子服务设置为预设模式包括:
确定所述标签所在的节点,并建立所述节点与所述裸机管理服务的子服务的关联。
3.根据权利要求1所述的方法,其特征在于,所述将所述文件目录映射到所述子服务中包括:
确定所述子服务对应的集群中的最小单元,并将所述文件目录映射到所述子服务对应的最小单元以实现多个最小单元在同一节点下的文件共享。
4.根据权利要求1所述的方法,其特征在于,所述在所述第三部署文件中将所述裸机管理服务的IP部分设置为固定的字符并定义变量包括:
将所述裸机管理服务的应用程序接口的配置文件中的IP部分定义为固定的字符,并在所述裸机管理服务的应用程序接口的容器中定义变量。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务包括:
调用云平台命令行接口创建所述裸机管理服务所需要的网络以及端口。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务包括:
确定所述主机的主机位,并设置所述裸机管理服务的主机位与所述主机的主机位相同。
7.根据权利要求1所述的方法,其特征在于,方法还包括:
预安装K8S集群,并将云平台组件部署在所述K8S集群上,基于所述K8S集群运行所述第一部署文件、第二部署文件和第三部署文件。
8.一种基于容器平台部署裸机管理服务的系统,其特征在于,包括:
第一设置模块,配置用于设置第一部署文件,在所述第一部署文件中将裸机管理服务的标签设置为使能,并将所述裸机管理服务的子服务设置为预设模式;
第二设置模块,配置用于设置第二部署文件,在所述第二部署文件中创建文件目录,并将所述文件目录映射到所述子服务中;
第三设置模块,配置用于设置第三部署文件,在所述第三部署文件中将所述裸机管理服务的IP部分设置为固定的字符并定义变量,并基于所述变量获取容器平台的主机的IP,使用获取的IP替换所述固定的字符;以及
执行模块,配置用于根据所述第一部署文件、第二部署文件和第三部署文件部署所述裸机管理服务。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-7任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110556041.9A CN113419813B (zh) | 2021-05-21 | 2021-05-21 | 一种基于容器平台部署裸机管理服务的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110556041.9A CN113419813B (zh) | 2021-05-21 | 2021-05-21 | 一种基于容器平台部署裸机管理服务的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113419813A CN113419813A (zh) | 2021-09-21 |
CN113419813B true CN113419813B (zh) | 2023-02-24 |
Family
ID=77712656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110556041.9A Active CN113419813B (zh) | 2021-05-21 | 2021-05-21 | 一种基于容器平台部署裸机管理服务的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113419813B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114416434B (zh) * | 2022-03-30 | 2022-07-08 | 苏州浪潮智能科技有限公司 | 一种裸金属磁盘备份方法、装置及计算机可读存储介质 |
CN114721743B (zh) * | 2022-04-15 | 2024-02-13 | 支付宝(杭州)信息技术有限公司 | 任务执行方法、装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110875848A (zh) * | 2018-08-30 | 2020-03-10 | 丛林网络公司 | 用于虚拟执行元件的多个网络 |
CN111142881A (zh) * | 2019-12-27 | 2020-05-12 | 浪潮云信息技术有限公司 | 一种基于kubernetes的编排charts自动化部署的系统及方法 |
CN111371620A (zh) * | 2020-03-11 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种基于分布式缓存的裸机服务部署方法及系统 |
CN112558987A (zh) * | 2020-12-16 | 2021-03-26 | 中盈优创资讯科技有限公司 | 一种基于helm的自动化部署方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790467B (zh) * | 2016-12-10 | 2019-10-25 | 武汉白虹软件科技有限公司 | 一种云主机自动发现和自动部署的方法 |
CN107707393B (zh) * | 2017-09-26 | 2021-07-16 | 赛尔网络有限公司 | 基于Openstack O版特性的多活系统 |
CN109388475A (zh) * | 2018-10-09 | 2019-02-26 | 郑州云海信息技术有限公司 | 一种物理裸机的部署方法、装置、电子设备及存储介质 |
-
2021
- 2021-05-21 CN CN202110556041.9A patent/CN113419813B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110875848A (zh) * | 2018-08-30 | 2020-03-10 | 丛林网络公司 | 用于虚拟执行元件的多个网络 |
CN111142881A (zh) * | 2019-12-27 | 2020-05-12 | 浪潮云信息技术有限公司 | 一种基于kubernetes的编排charts自动化部署的系统及方法 |
CN111371620A (zh) * | 2020-03-11 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种基于分布式缓存的裸机服务部署方法及系统 |
CN112558987A (zh) * | 2020-12-16 | 2021-03-26 | 中盈优创资讯科技有限公司 | 一种基于helm的自动化部署方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于OpenStack和Kubernetes的双向部署技术研究;杜磊;《电脑知识与技术》;20200131;全文 * |
基于容器技术的高可用 OpenStack 云平台快速部署应用;陈亚威,朱龙;《网络与信息工程》;20180930;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113419813A (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809722B (zh) | 一种部署Kubernetes集群的方法、装置和存储介质 | |
US10838747B2 (en) | Virtual appliances | |
CN111782232A (zh) | 集群的部署方法、装置、终端设备及存储介质 | |
JP7421511B2 (ja) | アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム | |
US8612968B2 (en) | Methods and systems for managing network connections associated with provisioning objects in a software provisioning environment | |
CN112416524A (zh) | 基于docker和kubernetes离线的跨平台的CI/CD的实现方法及装置 | |
US11356340B2 (en) | Provisioning a service | |
US9858105B1 (en) | Service for managing custom virtual machine images | |
US20150039875A1 (en) | Deployment of Software Images with Distinct Configuration Logic | |
CN113419813B (zh) | 一种基于容器平台部署裸机管理服务的方法及装置 | |
WO2014169870A1 (zh) | 虚拟网元自动装载及虚拟机ip地址获取的方法与系统、存储介质 | |
CN111026723B (zh) | 大数据集群管理控制方法、装置、计算机设备及存储介质 | |
CN113419815B (zh) | 一种预启动运行环境装机的方法、系统、设备及介质 | |
CN103885833A (zh) | 一种资源管理方法和系统 | |
US20210234772A1 (en) | Method, device and computer program product for configuring service instance | |
CN111104201A (zh) | 系统迁移方法和装置、电子设备、存储介质 | |
US20220277071A1 (en) | Enforcing policies for unmanaged applications | |
CN110928554A (zh) | 一种部署方法、装置、设备及存储介质 | |
CN110489305B (zh) | 一种服务器管理方法及装置 | |
CN113612702B (zh) | 一种实现裸金属检查流程的方法、系统、设备和存储介质 | |
CN111124437A (zh) | 一种基于OpenStack的裸机资源配置信息获取方法、系统及设备 | |
JP2021131897A (ja) | スケジューリング方法、装置、設備、記憶設備、及びプログラム | |
CN111200527B (zh) | 一种基于ironic的裸机自动发现和部署的方法 | |
CN110795209B (zh) | 一种控制方法和装置 | |
CN109753302B (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 |