CN112543109A - 一种云主机创建方法、系统、服务器及存储介质 - Google Patents

一种云主机创建方法、系统、服务器及存储介质 Download PDF

Info

Publication number
CN112543109A
CN112543109A CN201910893386.6A CN201910893386A CN112543109A CN 112543109 A CN112543109 A CN 112543109A CN 201910893386 A CN201910893386 A CN 201910893386A CN 112543109 A CN112543109 A CN 112543109A
Authority
CN
China
Prior art keywords
file
cloud host
configuration
configuration file
metadata
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.)
Granted
Application number
CN201910893386.6A
Other languages
English (en)
Other versions
CN112543109B (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.)
Shanghai Shuquan Data Technology Co ltd
Original Assignee
Shanghai Shuquan Data 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 Shanghai Shuquan Data Technology Co ltd filed Critical Shanghai Shuquan Data Technology Co ltd
Priority to CN201910893386.6A priority Critical patent/CN112543109B/zh
Publication of CN112543109A publication Critical patent/CN112543109A/zh
Application granted granted Critical
Publication of CN112543109B publication Critical patent/CN112543109B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例涉及计算机技术领域,公开了一种云主机创建方法、系统、服务器及存储介质。本发明中的云主机创建方法,包括接收创建云主机所需的配置文件并存放于云平台中的文件仓库;获取用户定制化需求,并将用户定制化需求上传至Metadata‑Service;结合配置文件和用户定制化需求,利用安全初始化组件实现云主机创建的初始化进程,其中初始化进程包括:需求获取、指令解析、文件获取及完整性校验、指令执行。本发明中利用特定的文件仓库和一个安全初始化组件相互协作,充分扩展增强Metadata‑Service提供的功能,使得在绝大多数的场景下,无需人工制作的新镜像,而在初始化过程自动进行软件安装、服务部署等操作,使得快速且自动化地构建一个可用且用户高度定制化的云主机。

Description

一种云主机创建方法、系统、服务器及存储介质
技术领域
本发明实施例涉及计算机技术领域,特别涉及云主机创建技术。
背景技术
随着云服务技术的发展,越来越多的个人和企业选择将自己的应用部署在公有云或企业内部搭建的私有云上。一般,传统的云主机创建方式是依赖于一个基础且通用的镜像,利用基础镜像创建出一个云主机后,人为的根据需求在此云主机内部进行修改,安装一系列软件,根据要在此云主机上部署的服务做一些相应的服务裁剪等,然后为该云主机创建快照,再利用该快照创建更多的相同云主机。
Metadata-Service最初由亚马逊的EC2云服务中提出,由于其架构的通用性,现已经成为云计算中的一个基础服务,其功能旨在为创建的云主机提供一系列配置信息,例如包含云主机自身一些常用属性的基础配置信息:唯一的主机ID,本地的IP地址,可被公网访问的IP地址,SSH登录秘钥等。通过获取这些信息可以为云主机完成最基础的配置,使其可以被投入使用。除了这些固定的字段外,还有一个user-data字段,其中保存了用户创建云主机时传入的用户自定义数据,例如用户传入的脚本,利用user-data字段中的内容可以完成一些云主机定制化功能。
发明人发现现有技术中至少存在如下问题:传统的创建方法便是即便做轻微的修改,也需要创建新的镜像,而即便大体上具有相同的配置,镜像的可重用性也非常差,会产生了大量的重复劳动;而Metadata-Service中利用user-data字段进行云主机定制化创建时,由于user-data字段中可传入数据量的大小受到限制,使得该定制化功能灵活性较差。
发明内容
本发明实施方式的目的在于提供一种云主机创建方法、系统、服务器及存储介质,使得在绝大多数场景下,无需人工制作新的镜像,而在初始化过程自动进行软件安装、服务部署等操作,能更灵活、快速且自动化地构建一个可用且用户高度定制化的云主机。
为解决上述技术问题,本发明的实施方式提供了一种云主机创建方法,包括:
接收创建云主机所需的配置文件并存放于云平台中的文件仓库;获取用户定制化需求,并将用户定制化需求上传至元数据服务端Metadata-Service;结合配置文件和用户定制化需求,利用安全初始化组件实现云主机创建的初始化进程,其中所述初始化进程包括:指令获取、指令解析、文件获取及完整性校验、指令执行。
本发明的实施方式还提供了一种云主机创建系统,包括:第一信息配置模块:用于接收创建云主机所需的配置文件并存放于云平台中的文件仓库;第二信息配置模块:用于获取用户定制化需求,并将用户定制化需求上传至Metadata-Service;安全初始化模块:用于实现云主机初始化进程;其中,初始化进程包括:指令获取、指令解析、文件获取及完整性校验、指令执行。
本实施方式还提供了一种服务器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的云主机创建方法。
本实施方式还提供了一种计算机可读存储介质,包括:一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述云主机创建方法。
本发明实施方式相对于现有技术而言,提供一种云主机创建方法,利用文件仓库存放需要执行的配置文件,将用户创建需求上传至Metadata-Service,可以在未对现有Metadata-Service服务进行修改的基础上,与安全初始化组件相互协作,进行软件安装、服务部署等操作,自动完成云主机的创建。本发明中的云主机创建方法,在大多数场景中,无需制作新镜像,并充分扩展Metadata-Service的功能,提高架构的通用性,能适用于不同的云平台。
另外,接收创建云主机所需的配置文件并存放于文件仓库,具体包括:配置文件包括通用基础配置文件和个性化配置文件;文件仓库包括公有存储区和私有存储区;所述接收创建云主机所需的配置文件并存放于云平台中的文件仓库,具体包括:在第一预设时间段内,接收通用基础配置文件存放于所述文件仓库的公共存储区;在第二预设时间段内,接收个性化配置文件存放于所述文件仓库的私有存储区;其中,通用基础配置文件和个性化配置文件均为经数字签名的文件。通过在对应的时间段,分别接收相应的配置文件并存放于对应的文件仓库存储区,突破现有技术中利用metadata-service中user-data传入数据量大小的限制,提供更多传入数据的可能,增加定制化功能的灵活性;同时对上传文件进行加密,确保后续创建流程的安全可控。
另外,获取用户定制化需求,并将用户定制化需求上传至Metadata Service,包括:将用户定制化需求按预设的第一格式转译为指令集合;对指令集合按预设的第二格式处理生成用户定制化数据包,其中用户定制化数据包包括:基础配置数据包和个性化配置数据包;将用户定制化数据包提交给所述Metadata Service。将用户定制化需求对应的执行动作抽象成单条简短指令及对应的配置数据包,提交给Metadata-Service托管,使得在不改变Metadata-Service服务的基础上,供云主机创建过程中拉取。
另外,需求获取,包括:访问由所述云平台规定的Metadata-Service服务端口;从Metadata-Service中拉取所述用户定制化数据包;根据用户定制化数据包中的基础配置数据包生成云主机创建的基础信息,所述基础信息包括以下之一或其任意组合:SSH公钥、网络配置信息、主机名。在未对现有Metadata-Sevice服务进行修改的基础上,直接访问、拉取安全初始化组件所需的用户定制化数据包,供安全初始化组件解析并执行。
另外,指令解析,包括:对个性化配置数据包进行解析,获得所述配置文件的属性信息,属性信息包括:用于验证来自私有存储区文件的公钥、用于验证来自公共存储区文件的公钥以及配置文件的访问路径。通过解析获取文件的访问路径及验证公钥,保障配置数据的安全。
另外,文件获取及完整性检验,包括:根据所述属性信息,定位所述配置文件在所述文件仓库的位置并进行拉取;根据所述配置文件的来源选择对应的公钥对所述文件的完整性进行校验,得到校验结果。通过根据对应的属性信息获取配置文件,并基于数字签名机制对配置文件进行安全验证,确保整个创建流程的安全可控。
另外,根据校验结果,执行对应动作,包括:当校验结果为失败时,不执行配置文件,生成验证失败日志并发出告警提示;当校验结果为成功时,执行配置文件,执行完成后继续解析下一条指令,直至初始化完成。以保障主机创建过程中的安全性。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是根据本发明第一实施方式中的云主机创建的流程图;
图2是根据本发明第二实时方式中的云主机创建的流程图;
图3是根据本发明第二实施方式中的Metadata请求流程图;
图4是根据本发明第三实施方式中云主机创建系统框架图;
图5是根据本发明第四实施方式中的服务器装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施方式涉及一种云主机创建方法。本实施方式的核心在于接收创建云主机所需的配置文件并存放于云平台中的文件仓库;获取用户定制化需求,并将用户定制化需求上传至Metadata-Service;结合配置文件和用户定制化需求,利用安全初始化组件实现云主机创建的初始化进程,其中初始化进程包括:需求获取、指令解析、文件获取及完整性校验、指令执行。本发明中提供的方法能快速且自动化地构建一个可用且用户高度定制化的云主机。下面对本实施方式中的云主机创建方法的实现细节进行具体的说明,一下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的云主机创建方法如图1所述,具体包括:
步骤101,接收创建云主机所需的配置文件并存放于云平台中的文件仓库。
具体地说,配置文件包含两种类型,分别是通用基础配置文件和个性化配置文件。通用配置文件一般由云平台管理员进行管理,云平台管理员通过后台选择在创建云主机的其他空余时间上传通用配置文件,系统后台接收由云平台管理员上传的通用配置文件并存放在文件仓库的公有存储区。个性化配置文件是一些用户自己完成的脚本或者自动部署的项目和可执行文件等,由用户自己管理,在有云主机创建需求时,用户根据前台提供的接口及预分配的对应上传路径进行上传,系统Web端口接收用户上传的个性化配置文件并存放在云仓库的私有存储区。其中,web前端页面并不向用户暴露其文件仓库的具体路径,而是在用户提交上传请求后,业务处理层通过查询云平台内部的数据库,获取该用户所绑定的ProjectID来唯一标识该私有文件仓库的路径,确保后续查找的唯一性。另外,系统也可以响应云管理员或者用户的其他操作,对存放在云仓库中对应存储区的配置文件进行相应的修改或者删除等操作,其中,对于上传至文件仓库公有存储区的通用配置文件,系统赋予用户进行访问的权限,但不允许用户对其进行修改。
在实践中,文件仓库架设于云平台中的一个控制节点或计算节点上,保证了较快的传输速率和可靠性。此外,为了方便后续安全初始化组件对配置文件进行处理,一般单个文件代表了一种配置,文件大体上分为两类一是系统配置文件,即只使用脚本即可完成的动作,另一种是软件部署文件,内含了需要安装的软件或是用户想部署的应用,以及与其匹配的自动部署脚本。上传时,无论是何种文件,都需要利用数字签名机制,为其携带一个数字签名,供后续安全初始化组件进行文件完整性校验工作,来保证用户上传数据未被他人篡改。
步骤102,获取用户定制化需求,并将所述用户定制化需求上传至Metadata-Service。
具体地说,根据用户在前台页面创建云主机系列流程中勾选的定制化选项,后台业务处理层将用户的勾选项按预设的第一格式转译为指令合集,即转译为与镜像中预先植入的安全初始化组件协商好的指令集合;在将用户定制化选项转译为指令合集之后,对得到的指令集合按预设的第二格式处理生成用户定制化数据包,改用户定制化数据包包括基础配置数据包和个性化配置数据包,即按Metadata Service中的字段格式生成对应的metadata字段和user-data字段,并根据用户提交的创建云主机请求将打包好的用户定制化数据包提交给Metadata Service托管,以便于供后续云主机创建过程中拉取。
步骤103,利用安全初始化组件实现云主机创建的初始化进程。
具体地说,云主机内部植入安全初始化组件以系统注册服务的形式存在,在云主机创建并启动过程中自动执行,其第一步,由metadata请求模块首先访问由云平台规定的Metadata-Service服务端口,拉取安全初始化组件执行的第一阶段所用到的Metadata字段和安全初始化组件执行的第二阶段所需要的user-data字段,但在安全初始化组件进行解析之前,会根据Metadata中的相应字段信息配置好基本的主机信息。然后安全初始化组件中的指令解析模块对上一步中获取的user-data字段和ProjectID进行解析,获得用于验证来自私有存储区文件的公钥、用于验证来自公共存储区文件的公钥以及配置文件的访问路径。接着由安全初始化组件内部的完整性校验模块,初始化执行模块三个模块依据第一阶段获得的相应信息,第二阶段获得的文件仓库的具体访问路径,同文件仓库进行交互,进行文件拉取、校验、执行等操作,依次串行执行初始化工作,完成整个定制化创建流程。
本实施方式中利用文件仓库存放需要执行的配置文件,将用户创建需求抽象成单条简短指令,可以在未对现有Metadata-Service服务进行修改的基础上,与一个事先植入在基础镜像的初始化组件相互协作,进行软件安装、服务部署等操作,自动完成云主机的创建,本发明中的云主机创建方法,在大多数场景中,无需制作新镜像,并充分扩展Metadata-Service的功能,提高架构的通用性,能适用于不同的云平台。
本发明的第二实施方式涉及一种云主机创建方法,该具体流程,如图2所示:
本实施方式中的步骤201至步骤202与第一实施方式中的步骤101至步骤102大致相同,在此不再赘述。
步骤203:指令获取。
具体地说,安全初始化组件中metadata请求模块访问由云平台规定的Metadata-Service服务端口;从所述Metadata-Service中拉取所述用户定制化数据包;根据用户定制化数据包中的基础配置数据包拉取云主机创建的基础信息,其中基础信息包括以下信息:SSH公钥、网络配置信息、主机名。
在实际应用中,指令获取这一步,其目的就是访问云中的Metadata-Service,获取用于创建该云主机相应的基本信息,具体流程如图3所示,所要访问的Metadata-Service架设在云中的控制节点上,使用一个保留的IP地址作为其服务地址,但由于其位于云平台的内部管理网络中,云主机实例无法进行直接访问,所以具体过程是首先访问位于网络节点上的Metadata服务子代理,其与云主机实例位于同一个网络节点的namespace中,然后这个Metadata服务子代理通过进程间通信的方式将请求转发给位于同一网络节点上另一个Metadata服务总代理,位于网络节点上的Metadata服务总代理并不会直接把该请求转发出去,而是通过虚拟路由的ID获取其所连接的所有子网,然后在查询云主机内部ip地址所位于的子网,然后查询其所对应的端口号从而获取其实例ID,再将其加入到这个请求中,用来标识出该云主机实例,由于Metadata服务总代理和Metadata-Service位于同一个云平台内部管理网络中,可以进行直接通信,从而最终把来自云主机实例的请求发送给Metadata-Service所监听的服务端点。
在获得Metadata后,安全初始化组件并不会立即启动指令解析这一步操作,而是会根据Metadata中的相应字段配置好基本的主机信息,如SSH公钥,公网上可供访问的IP地址、ProjectID等,然后会将user-data转交至下一步操作。
步骤204:指令解析。
具体地说,对个性化配置数据包进行解析,获得用于创建云主机配置文件的属性信息,该属性信息包括:用于验证来自私有存储区文件的公钥、用于验证来自公共存储区文件的公钥以及配置文件的访问路径。
在实际应用中,从user-data字段中的最开始的位置的前两条指令中解析出2个公钥,第一个公钥用于验证来自公有仓库的配置文件的完整性,第二个公钥来自创建该云主机的用户所提供,用于验证位于其私有仓库中配置文件的完整性。在解析出两个公钥后,开始解析用户的定制化需求,需求的格式事先定义,为单条安全初始化组件所能理解的指令,可供安全初始化组件解析并执行,从而完成进一步动作。具体来说,指令的内容包括本次执行的配置是否需要安装软件,还是一个单独的配置脚本,该配置的文件的名称,位于公有仓库还是私有仓库以及与用户上传的配置文件对应的唯一标识符projectID。表1中给出了一个简单定义的配置指令中一些字段含义的样例,指令可以使用类似于Yaml等流行的标记语言,也可以自己进行设计。基于这些信息,可以解析出一条完整的请求路径,然后向该路径请求特定的配置文件。
表1单条指令样例
Figure BDA0002209479690000071
步骤205:文件获取及完整性校验。
具体地说,根据解析得到的属性信息,定位配置文件在文件仓库的位置并进行拉取;对获取到的配置文件,根据其来源选择对应的公钥进行完整性校验,得到校验结果。
在实际应用中,获取该配置文件后,进行配置文件的完整性校验,首先根据该文件来自公有存储区还是私有存储区来选择对应的公钥,然后自动查找与其签名文件同名的数字签名并进行解密得到一个散列值,同时对文件包中的文件应用相同的密码散列函数计算出散列值。并与之前解密得到的散列值进行匹配,若匹配一致,则文件完整性校验成功,反之,则文件完整性校验失败。
步骤206,判断校验是否成功,若校验成功则执行步骤207,若校验失败,则执行步骤208。
步骤207,初始化执行
具体地说,安全初始化组件会会执行该文件名中与文件名相同的脚本,从而完成一系列自动化配。若配置过程中发生错误,该错误日志也会记录进相应的日志文件。当完成配置后再继续解析下一条指令,按照相同的流程串行执行完所有用户选择的配置选项,从而完成整个初始化过程。
步骤208,生成错误日志
具体地说,若匹配不一致,文件完整性校验失败,则不执行该条配置指令,并将该事件记录进日志并向用户告警,转而开始解析下一条配置指令,直至完成整个初始化进程。
需要说明的是,安全初始化组件会注册成一个系统服务,在完成初始化统中工作后自动结束进程,不常驻于操作系统。
不难发现,本实施方式中利用文件仓库存放需要执行的配置文件,将用户创建需求抽象成单条简短指令托管于Metadata-Service,可以在不修改现有Metadata-Service服务的基础上,与一个事先植入在基础镜像的安全初始化模块相互协作,自动完成云主机的创建。本发明中的云主机创建系统,在大多数场景中,无需制作新镜像,并充分扩展Metadata-Service的功能,提高架构的通用性,能适用于不同的云平台;此外,为了保障用户数据安全,web前端页面并不向用户暴露其文件仓库的具体路径,而是在用户提交上传请求后,业务处理层通过查询云平台内部的数据库,获取该用户所绑定的ProjectID来唯一标识该私有文件仓库的路径,同时位于云主机上的安全初始化模块解析出ProjectID来定位该私有文件仓库,从而阻止了故意篡改仓库路径等一系列高危行为。同时对上传的配置文件采用数字化签名机制,安全初始化模块会进行文件完整性校验,进一步保障了用户上传的配置文件完整性和主机创建流程的安全性。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施方式涉及一种云主机创建的系统,如图4所示,包括:
第一信息配置模块301用于接收创建云主机所需的配置文件并存放于云平台中的文件仓库,供后续安全初始化模块拉取使用。
具体地说:用于在创建云主机的其他空余时间段内,接收由云平台管理员上传的通用基础配置文件并存放于文件仓库的公共存储区;在用户提交云主机创建请求前,接收由用户上传的个性化配置文件并存放于文件仓库的私有存储区。
第二信息配置模块302:用于获取用户定制化需求,并将用户定制化需求上传至Metadata-Service;
具体地说,用于接收用户从Web前端界面输入的定制化选项,并将获取的用户定制化选项转译为与安全初始化组件协商好的指令合集,然后将转译好的指令合集按照Metadata Service中的字段格式打包生成对应的metadata字段和user-data字段,最后根据用户提交的创建云主机请求将打包好的用户定制化数据包提交给Metadata Service托管。
安全初始化模块303:用于同第一信息配置模块和第二信息配置模块进行交互,实现云主机创建的初始化进程;其中,所述初始化进程包括:指令获取、指令解析、文件获取及完整性校验、请求执行。
具体地说,安全初始化模块303包括metadata请求模块3031,初始化信息解析模块3032,完整性校验模块3033,初始化执行模块3034,子模块相互协作,以串行的方式完成一系列云主机的初始化工作。
其中,metadata请求模块3031,用于访问所述云平台中的Metadata-Service,获取用户定制化数据包。在获得用户定制化数据包后,metadata请求模块3031并不会立即启动初始化信息解析模块3031进行下一步操作,而是会根据Metadata中的相应字段配置好基本的主机信息,如SSH公钥,公网上可供访问的IP地址等,之后metadata请求模块3031会将user-data转交给初始化信息解析模块3032进行下一步操作。
初始化信息解析模块3032,用于对个性化配置数据包进行解析,获得配置文件的属性信息,该属性信息包括:用于验证来自私有存储区文件的公钥、验证来自公共存储区文件的公钥以及配置文件的访问路径。
文件获取及完整性校验模块3033,用于根据获得的配置文件属性信息,定位配置文件在文件仓库的位置并进行拉取,根据配置文件的来源选择对应的公钥对所述文件的完整性进行校验,得到校验结果。
初始化执行模块3034,用于执行获取的所述配置文件,完成云主机创建。初始化执行模块3034会执行该文件名中与文件名相同的脚本,从而完成一系列自动化配置。
本实施方式中利用第一信息配置模块获取需要执行的配置文件存放于文件仓库,用第二信息配置模块获取用户的需求,并处理成对应字段托管于Metadata-Service,可以在未对现有Metadata-Service服务进行修改的基础上,与一个事先植入在基础镜像的初始化组件相互协作,进行软件安装、服务部署等操作,自动完成云主机的创建,本发明中的云主机创建方法,在大多数场景中,无需制作新镜像,并充分扩展Metadata-Service的功能,提高架构的通用性,能适用于不同的云平台。
不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第四实施方式涉及一种服务器,如图5所示,包括至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述云主机创建方法的实施方式。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本发明第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (10)

1.一种云主机创建方法,其特征在于,包括:
接收创建云主机所需的配置文件并存放于云平台中的文件仓库;
获取用户定制化需求,并将所述用户定制化需求上传至元数据服务端Metadata-Service;
结合所述配置文件和所述用户定制化需求,利用安全初始化组件实现云主机创建的初始化进程,其中所述初始化进程包括:指令获取、指令解析、文件获取及完整性校验、指令执行。
2.根据权利要求1所述的云主机创建方法,其特征在于,所述配置文件包括通用基础配置文件和个性化配置文件;所述文件仓库包括公有存储区和私有存储区;
所述接收创建云主机所需的配置文件并存放于云平台中的文件仓库,具体包括:
在第一预设时间段内,接收所述通用基础配置文件并存放于所述文件仓库的公共存储区;
在第二预设时间段内,接收所述个性化配置文件并存放于所述文件仓库的私有存储区;
其中,所述通用基础配置文件和所述个性化配置文件均为经数字签名的文件。
3.根据权利要求1所述的云主机创建方法,其特征在于,所述获取用户定制化需求,并将所述用户定制化需求上传至Metadata Service,包括:
将所述用户定制化需求按预设的第一格式转译为指令集合;
对所述指令集合按预设的第二格式处理生成用户定制化数据包,其中所述用户定制化数据包包括:基础配置数据包和个性化配置数据包;
将所述用户定制化数据包提交给所述Metadata Service。
4.根据权利要求3中所述的云主机创建方法,其特征在于,所述指令获取,包括:
访问由所述云平台规定的Metadata-Service服务端口;
从所述Metadata-Service中拉取所述用户定制化数据包;
根据所述用户定制化数据包中的基础配置数据包拉取云主机创建的基础信息,所述基础信息包括以下之一或其任意组合:SSH公钥、网络配置信息、主机名。
5.根据权利要求4所述的云主机创建方法,其特征在于,所述指令解析,包括:
对所述个性化配置数据包进行解析,获得所述配置文件的属性信息,所述属性信息包括:用于验证来自私有存储区文件的公钥、用于验证来自公共存储区文件的公钥以及配置文件的访问路径。
6.根据权利要求5所述的云主机创建方法,其特征在于,所述文件获取及完整性检验,包括:
根据所述属性信息,定位所述配置文件在所述文件仓库的位置并进行拉取;
根据所述配置文件的来源选择对应的公钥对所述文件的完整性进行校验,得到校验结果。
7.根据权利要求6所述的云主机创建方法,其特征在于,根据所述校验结果,执行对应动作,包括:
当所述校验结果为失败时,不执行所述配置文件,生成验证失败日志并发出告警提示;
当所述校验结果为成功时,执行所述配置文件,执行完成后继续解析下一条指令,直至初始化完成。
8.一种云主机创建系统,其特征在于,包括:
第一信息配置模块:用于接收创建云主机所需的配置文件并存放于云平台中的文件仓库;
第二信息配置模块:用于获取用户定制化需求,并将所述用户定制化需求上传至Metadata-Service;
安全初始化模块:用于实现云主机初始化进程;其中,所述初始化进程包括:指令获取、指令解析、文件获取及完整性校验、指令执行。
9.一种服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一所述的云主机创建方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的云主机创建方法。
CN201910893386.6A 2019-09-20 2019-09-20 一种云主机创建方法、系统、服务器及存储介质 Active CN112543109B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910893386.6A CN112543109B (zh) 2019-09-20 2019-09-20 一种云主机创建方法、系统、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910893386.6A CN112543109B (zh) 2019-09-20 2019-09-20 一种云主机创建方法、系统、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN112543109A true CN112543109A (zh) 2021-03-23
CN112543109B CN112543109B (zh) 2023-08-15

Family

ID=75012385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910893386.6A Active CN112543109B (zh) 2019-09-20 2019-09-20 一种云主机创建方法、系统、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN112543109B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778535A (zh) * 2021-08-10 2021-12-10 济南浪潮数据技术有限公司 一种云主机操作校验的方法、系统、设备和存储介质
CN113867824A (zh) * 2021-11-30 2021-12-31 武汉迈异信息科技有限公司 云主机初始化方法、装置、电子设备及介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936636A (zh) * 2017-03-15 2017-07-07 无锡华云数据技术服务有限公司 一种快速部署容器化的云计算测试平台的实现方法
CN107147649A (zh) * 2017-05-11 2017-09-08 成都四象联创科技有限公司 基于云存储的数据优化调度方法
CN107463411A (zh) * 2017-08-16 2017-12-12 北京新网数码信息技术有限公司 一种云主机初始化方法及装置
CN108574719A (zh) * 2017-04-19 2018-09-25 北京金山云网络技术有限公司 一种云主机创建方法及装置
CN108984165A (zh) * 2018-07-16 2018-12-11 郑州云海信息技术有限公司 一种构建定制化镜像的方法和系统
CN109379235A (zh) * 2018-11-27 2019-02-22 无锡华云数据技术服务有限公司 基于高并发请求场景创建云主机的方法
CN109495555A (zh) * 2018-11-01 2019-03-19 郑州云海信息技术有限公司 一种基于云平台创建云主机的方法和装置
CN109684822A (zh) * 2018-12-30 2019-04-26 深圳开立生物医疗科技股份有限公司 多用户访问环境配置方法、装置、设备及多联机系统
WO2019100605A1 (zh) * 2017-11-21 2019-05-31 平安科技(深圳)有限公司 平台即服务paas容器平台的构建方法、服务器、系统及存储介质
CN110138588A (zh) * 2019-04-04 2019-08-16 微梦创科网络科技(中国)有限公司 配置文件自动化管理方法和系统、配置管理平台和客户端

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936636A (zh) * 2017-03-15 2017-07-07 无锡华云数据技术服务有限公司 一种快速部署容器化的云计算测试平台的实现方法
CN108574719A (zh) * 2017-04-19 2018-09-25 北京金山云网络技术有限公司 一种云主机创建方法及装置
CN107147649A (zh) * 2017-05-11 2017-09-08 成都四象联创科技有限公司 基于云存储的数据优化调度方法
CN107463411A (zh) * 2017-08-16 2017-12-12 北京新网数码信息技术有限公司 一种云主机初始化方法及装置
WO2019100605A1 (zh) * 2017-11-21 2019-05-31 平安科技(深圳)有限公司 平台即服务paas容器平台的构建方法、服务器、系统及存储介质
CN108984165A (zh) * 2018-07-16 2018-12-11 郑州云海信息技术有限公司 一种构建定制化镜像的方法和系统
CN109495555A (zh) * 2018-11-01 2019-03-19 郑州云海信息技术有限公司 一种基于云平台创建云主机的方法和装置
CN109379235A (zh) * 2018-11-27 2019-02-22 无锡华云数据技术服务有限公司 基于高并发请求场景创建云主机的方法
CN109684822A (zh) * 2018-12-30 2019-04-26 深圳开立生物医疗科技股份有限公司 多用户访问环境配置方法、装置、设备及多联机系统
CN110138588A (zh) * 2019-04-04 2019-08-16 微梦创科网络科技(中国)有限公司 配置文件自动化管理方法和系统、配置管理平台和客户端

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778535A (zh) * 2021-08-10 2021-12-10 济南浪潮数据技术有限公司 一种云主机操作校验的方法、系统、设备和存储介质
CN113778535B (zh) * 2021-08-10 2024-02-23 济南浪潮数据技术有限公司 一种云主机操作校验的方法、系统、设备和存储介质
CN113867824A (zh) * 2021-11-30 2021-12-31 武汉迈异信息科技有限公司 云主机初始化方法、装置、电子设备及介质

Also Published As

Publication number Publication date
CN112543109B (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
US11513864B2 (en) Adoption of existing virtual computing resources into logical containers for management operations
US10929275B2 (en) Automatic test stack creation via production system replication
CN111666129B (zh) 容器镜像处理方法、电子设备、存储介质及系统
WO2016173199A1 (zh) 一种移动应用单点登录方法及装置
US20210126977A1 (en) Single Agent for Logs, Metrics, Traces, Synthetics, Security, and End Point Monitoring
CN111935110B (zh) 一种对租户访问容器实例的权限的控制方法和装置
US20210097476A1 (en) Container Management Method, Apparatus, and Device
CN106844489A (zh) 一种文件操作方法、装置以及系统
CN104702624A (zh) 基于CloudStack平台虚拟机登录方法及系统
WO2020119729A1 (zh) 基站开站方法、装置、计算机存储介质及设备
CN113076502A (zh) 一种基于请求标识的参数控制方法与系统
CN112543109B (zh) 一种云主机创建方法、系统、服务器及存储介质
US20170364381A1 (en) Data center configuration
US11113357B2 (en) Method and system for onboarding a virtual network function package utilized by one or more network services
US20190386886A1 (en) Method and system for virtual network service activation
CN116132344A (zh) 基于K8s集群的容器服务调试方法及装置、电子设备
US11379434B2 (en) Efficient and automatic database patching using elevated privileges
US20140206319A1 (en) Method and device for achieving data roaming
CN115248922A (zh) 用于远程接入的设备以及方法
CN116684282B (zh) 新增云端服务器初始化方法、装置和计算机设备
JP6272243B2 (ja) 仮想機器試験装置、仮想機器試験方法及び仮想機器試験プログラム
US20230244401A1 (en) Data management system, volume access control method and non-transitory computer readable medium
EP4027256A1 (en) Single agent for logs, metrics, traces, synthetics, security, and end point monitoring
CN107977253A (zh) 程序处理方法、ic客户端及ic平台
CN116545828A (zh) 基于SaltStack分布式部署的方法、主机和系统

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