CN114281352A - 服务部署方法及相关设备 - Google Patents

服务部署方法及相关设备 Download PDF

Info

Publication number
CN114281352A
CN114281352A CN202011044431.XA CN202011044431A CN114281352A CN 114281352 A CN114281352 A CN 114281352A CN 202011044431 A CN202011044431 A CN 202011044431A CN 114281352 A CN114281352 A CN 114281352A
Authority
CN
China
Prior art keywords
service
deployment
internal network
deployed
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011044431.XA
Other languages
English (en)
Inventor
刘炜
邵振军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BOE Technology Group Co Ltd
Original Assignee
BOE Technology Group 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 BOE Technology Group Co Ltd filed Critical BOE Technology Group Co Ltd
Priority to CN202011044431.XA priority Critical patent/CN114281352A/zh
Priority to US17/487,079 priority patent/US20220103555A1/en
Publication of CN114281352A publication Critical patent/CN114281352A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开提供一种服务部署方法及相关设备,包括:从服务运维系统中获取待部署服务的安装文件;接入服务部署需求对象的第一内部网络;利用所述服务部署需求对象的授权协议,通过所述第一内部网络与工作在所述服务部署需求对象的第二内部网络中的业务服务器进行通信;其中,所述第二内部网络为所述服务部署需求对象的待部署服务的业务服务器的所处网络,所述第一内部网络与第二内部网络相互连通,所述第二内部网络允许通过所述授权协议而被访问;利用所述待部署服务的安装文件在所述服务部署需求对象的业务服务器中完成服务部署。本公开提供的服务部署方法及相关设备,能够较好地完成服务部署。

Description

服务部署方法及相关设备
技术领域
本公开涉及计算机技术领域,尤其涉及一种服务部署方法及相关设备。
背景技术
私有化部署,一般理解为企业内部的本地部署。私有化部署的对象一般可以包括企业管理工具、企业通讯工具、企业开发工具等。
本公开的发明人在实现本公开的过程中发现,现有的私有化部署至少存在以下问题之一:1)离线安装需要将文件下载到客户服务器(例如,属于客户的任一个服务器),不利于安装文件的保密。2)客户的业务服务器(例如,需要进行私有化部署的客户服务器)之间需要基于安全外壳协议(Secure Shell,简称ssh)实现通讯,而很多企业的内网服务器(例如,在客户的内网中工作的客户服务器)之间禁用了ssh协议,使得通讯过程受阻。3)服务的安装过程不提供图形化,配置文件编写复杂,需要专业开发运维人员操作。
发明内容
有鉴于此,本公开提出了一种服务部署方法及相关设备。
本公开的第一方面,提供了一种服务部署方法,包括:
从服务运维系统中获取待部署服务的安装文件;
接入服务部署需求对象的第一内部网络;
利用所述服务部署需求对象的授权协议,通过所述第一内部网络与工作在所述服务部署需求对象的第二内部网络中的业务服务器进行通信;其中,所述第二内部网络为所述服务部署需求对象的待部署服务的业务服务器的所处网络,所述第一内部网络与第二内部网络相互连通,所述第二内部网络允许通过所述授权协议而被访问;
利用所述待部署服务的安装文件在所述服务部署需求对象的业务服务器中完成服务部署。
可选地,利用所述服务部署需求对象的授权协议,通过所述第一内部网络与工作在所述服务部署需求对象的第二内部网络中的业务服务器进行通信,包括:
基于批量管理工具,利用所述服务部署需求对象的授权协议,通过所述第一内部网络与工作在所述服务部署需求对象的第二内部网络中的业务服务器进行通信。
可选地,所述授权协议为zmq协议。
可选地,所述服务部署方法还包括:
利用所述服务运维系统对所述安装文件进行代码扫描和测试,以确定所述安装文件的可用性。
可选地,从服务运维系统中获取待部署服务的安装文件,包括:获取所述待部署服务的镜像文件;
利用所述待部署服务的安装文件在所述服务部署需求对象的业务服务器中完成服务部署,包括:利用所述待部署服务的镜像文件在所述服务部署需求对象的业务服务器中采用容器技术完成服务部署。
可选地,所述服务部署方法还包括:
从服务运维系统中获取待部署服务的镜像文件的管理文件;
利用所述待部署服务的镜像文件的管理文件,在所述服务部署需求对象的业务服务器中完成对服务的管理部署。
可选地,所述服务部署方法还包括:
调用所述业务服务器的服务接口对部署完成的服务进行测试。
可选地,所述服务部署方法还包括:
确定是否能够通过所述第一内部网络与工作在所述第二内部网络中的业务服务器进行通信;
若不能通过所述第一内部网络与工作在所述第二内部网络中的业务服务器进行通信,则切换部署模式。
本公开的第二方面,提供了一种电子装置,包括:
接口单元,用于连接到服务运维系统或服务部署需求对象的第一内部网络;
存储器,用于存储一组指令;以及
至少一个处理器,配置为执行该组指令以进行如第一方面所述的方法。
本公开的第三方面,提供了一种服务部署系统,包括:
如第二方面所述的电子装置,以及
服务运维系统,被配置为:与所述电子装置建立连接并向所述电子装置发送待部署服务的安装文件。
本公开的第四方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面所述方法。
从上面所述可以看出,本公开的服务部署方法及相关设备,提供了一种可以在物理隔离网络之间使用电子装置打通服务部署流水线上下游的私有化部署方式。
附图说明
为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开的实施例提供的服务部署系统的一个示例性的结构示意图;
图2示出了本公开提供的一种服务部署方法的一个示例性流程的示意图;
图3示出了本公开提供的操作界面的一个示例性的示意图;
图4为示出了本公开提供的进行服务部署的一个示例性流程的示意图;
图5示出了本公开提供的一种服务部署方法的另一个示例性流程的示意图;
图6示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
DevOps(Development和Operations的组合词)是一套打破开发、运维、测试壁垒的自动化开发运维体系。其主要工作流程是:开发人员提交代码合并到所需分支后触发流水线。代码编译完成后,利用代码分析工具(例如sonarqueb)扫描代码。代码扫描通过后打包,制作成镜像文件上传到DevOps的镜像仓库。接着再由DevOps的发布系统发布到客户的业务服务器(被部署服务的服务器),并由DevOps系统提供监控和报警。全流程一般不需要人工操作,达到触发条件后可自动完成。
随着DevOps(开发运维管理平台)的提出,使得开发和运维工作变得更简便也更高效。但是这些概念和相关的解决方案一般是基于较大规模的开发-测试-生产平台而提出的。对于给客户提供的私有化部署,出于安全考虑,客户公司的内网服务器可能无法接入DevOps系统,目前仍停留在脚本或程序部署的阶段。同时,因为各公司内网间的网络隔离,目前无法在各公司的相互隔离的内网间运行。
一些私有化部署方案,可能存在一些弊端:1)离线安装需要将文件下载到客户服务器,不利于保密。2)业务服务器之间需要ssh通讯,而很多企业内网服务器间禁用了ssh协议。3)安装过程不提供图形化,配置文件编写复杂,需要专业开发运维人员操作。
随着公司的业务规模的扩大,私有化部署需求日益增多。另一些私有化部署方案,可能存在一些问题:1)每次私有化部署都需要开发运维人员给出最新的安装包。2)安装过程由预制的自动化脚本完成,如果流程出现问题,在没有开发运维人员在现场的情况,很难定位并解决。3)安装过程输出没有图形化,配置文件修改相对复杂,不便于业务人员操作。4)由于客户的资源不同,业务人员需要和开发运维人员咨询服务的架构。
为了解决以上问题,本公开提出了一种服务部署方法,包括:从服务运维系统中获取待部署服务的安装文件;接入服务部署需求对象的第一内部网络;利用所述服务部署需求对象的授权协议,通过所述第一内部网络与工作在所述服务部署需求对象的第二内部网络中的业务服务器进行通信;所述第二内部网络为所述服务部署需求对象的业务服务器内网,所述第一内部网络与第二内部网络相互连通;利用所述待部署服务的安装文件在所述服务部署需求对象的业务服务器中完成服务部署。这样,本公开提供了一种可以在物理隔离网络之间使用电子装置打通服务部署流水线上下游的私有化部署方式。
图1示出了本公开的实施例提供的服务部署系统的一个示例性的结构示意图。
所述服务部署系统100包括上游的服务运维系统102、下游的服务部署需求对象的服务器104以及打通服务运维系统102和服务部署需求对象的服务器104的电子装置106。
所述服务运维系统102可以实现为DevOps系统,其可提供待部署服务的安装文件、配置文件、升级文件等文件。所述电子装置106根据待部署服务的内容从所述服务运维系统102中获取相关的文件,例如,获取待部署服务的安装文件。在一些实施例中,所述安装文件可以实现为镜像文件,进而在部署服务时基于所述镜像文件可以采用容器技术(例如,Docker)完成部署。
所述电子装置106实现服务部署的上下游的打通,也可称为摆渡终端(ferry)。所述电子装置106可以实现为便于携带的硬件设备,例如可以实现为类似于移动硬盘外形和尺寸的硬件设备,可以通过连接到提供服务部署功能的供应方的设备中来接入所述服务运维系统102,例如,通过连接到供应方的办公电脑而接入所述服务运维系统102。所述供应方的办公电脑与所述服务运维系统102的连接可以通过供应方的内部局域网实现连接,也可以通过互联网实现连接,具体实现方式根据具体情况而定,在此不做限制。在一些实施例中,所述电子装置106也可以实现为便携的具备计算机功能的硬件设备,例如,笔记本电脑、平板电脑等。在一些实施例中,所述电子装置106也可能实现为体积更小的硬件设备,例如外形和尺寸与U盘接近的硬件设备。
所述电子装置106接入所述服务运维系统102之后,可以从所述服务运维系统102中获取待部署服务的安装文件,并可在接入到服务部署需求对象的内部网络中之后利用所述安装文件进行服务部署。
所述电子装置106在被移动到服务部署需求对象处之后,可以接入服务部署需求对象的第一内部网络。在一些实施例中,所述第一内部网络可以是服务部署需求对象的内网,该内网的权限设置相对较低,例如可以是所述服务部署需求对象的办公网络,所述电子装置106可以通过接入所述服务部署需求对象的办公电脑而接入所述第一内部网络,通常不需要额外的授权操作。
所述电子装置106在接入所述第一内部网络之后,利用所述服务部署需求对象的授权协议,可以通过所述第一内部网络与工作在所述服务部署需求对象的第二内部网络中的业务服务器进行通信。在一些实施例中,所述第二内部网络为所述服务部署需求对象的业务服务器内网,所述第一内部网络与第二内部网络相互连通,所述业务服务器为服务部署的目标服务器,属于所述服务部署需求对象的服务器104的其中之一或多个,所述业务服务器为所述服务部署需求对象的内网服务器时,可能是工作在权限范围相对较窄的网络中,因而可能会禁用一些协议,因此需要采用所述服务部署需求对象的授权协议(或者内网服务器的授权协议)来进行通信,才能被所述第二内部网络所允许。在一些实施例中,所述授权协议可以是zmq协议,该协议相较于ssh协议,一般不被企业的内网服务器禁用,因此在使用zmq协议时,可以利用连通的第一内部网络和第二内部网络实现所述电子装置106与企业的内网服务器之间的通信,而不易出现协议被禁用的情况。
所述电子装置106在利用第一内部网络与第二内部网络实现与业务服务器的通信之后,则可以利用所述待部署服务的安装文件在所述服务部署需求对象的业务服务器中完成服务部署。在一些实施例中,所述安装文件为镜像文件,所述利用所述待部署服务的安装文件在所述服务部署需求对象的业务服务器中完成服务部署,包括:利用所述待部署服务的镜像文件在所述服务部署需求对象的业务服务器中采用容器技术(例如Docker)完成服务部署。这样,使用Docker容器化,对业务服务器依赖较小,安装更便捷、可靠。在一些实施例中,所述电子装置106还可以从服务运维系统102中获取待部署服务的镜像文件的管理文件(例如docker-compose管理工具);并且,所述电子装置106可以利用所述待部署服务的镜像文件的管理文件,在所述服务部署需求对象的业务服务器中完成对服务的管理部署。这样,利用docker-compose提供编排和生命周期管理,比k8s、k3s等容器管理平台占用资源更少,更适合于小规模的私有化安装,管理也更为简便。
本实施例中所述待部署服务可以是任意服务,例如,会议标牌服务、智能会议管理服务、智能拉手开发环境服务、智能会议管理系统服务、会议标牌项目生产环境服务、通用信息发布生产环境服务,等等。
下面以信息发布系统为例示例性地介绍所述电子装置106部署服务的工作过程200,参考图2所示。
所述电子装置106可以利用供应方的办公电脑接入所述服务运维系统102,在接入服务运维系统102之后,所述办公电脑显示图3所示界面。
在步骤202,首先可以进行文件配置。
如图3所示,在界面中分别选择前端和后台并打开设置,分别完成以下操作:
在项目名称栏中填写待部署服务的项目名称;
在编译设置栏中填写待部署服务的Jenkins工程的URL地址和相应的令牌(token),以期据此从所述服务运维系统102中获取待部署服务的安装文件或镜像文件;
上传docker-compose文件;docker-compose文件的作用包括:编排容器(例如,容器使用哪个镜像文件启动,容器映射端口,持久化存储,容器中变量等)和容器生命周期管理(例如,容器在何时会重启);而在每个项目docker-compose文件的作用可能存在不同,同一项目的不同版本的docker-compose文件也有可能被更新,因此可以预留上传docker-compose文件的位置;而在一些实施例中,若电子装置106中已有的docker-compose文件满足部署需求,则无需上传docker-compose文件;
填写安装文件的镜像名及其标签(tag)。
接着,可以在界面中选择数据库并打开设置,分别完成以下操作:
选择数据库类型为mysql并选择数据库的镜像版本;
选择数据库架构类型为主从架构,即部署服务的服务器中存在一个主服务器和至少一个从服务器;
填写基础库及相应的用户名和密码;
上传数据库的sql脚本;sql脚本用于初始化数据库,例如,某些项目启动需要提前在数据库中写入一些相关数据,以供服务使用,在这些情况下需要上传相应的sql脚本用于初始化数据库;可以知道,在一些情况下,开发人员不一定会把初始化数据库的sql脚本放在待部署服务的代码中,为了提高电子装置的可用性,可以预留上传sql脚本的位置;而在一些实施例中,若待部署服务的代码本身已经具有初始化数据库的sql脚本,则无需上传初始化数据库的sql脚本。
在步骤204,可以进行安装文件的获取。
当所述电子装置106处在供应方的内网时,在界面中分别选择前端和后台,点击获取按钮即可分别得到前端和后台对应的服务的最新的镜像文件。具体地,首先从服务运维系统102的数据库中获得相应的服务的最新代码文件,然后将代码文件进行编译并利用服务运维系统102提供的sonarqube工具完成代码文件扫描检测,在扫描检测通过之后打包或保存制品并制作成镜像文件,进而被所述电子装置106所获取并保存。在一些实施例中,还可以将镜像文件上传至镜像仓库,供后续使用。在一些实施例中,若镜像文件是已有的,则可直接获取,无需进行前述的代码编译、扫描等步骤。
数据库镜像文件可以内置于所述电子装置106,数据库版本一般不会更改,可以不用在每次进行部署准备都进行获取。
在步骤206,进行服务部署准备。
1)将电子装置106接入所述服务部署需求对象的第一内部网络(例如,客户的办公网络);
2)将定制好saltstack客户端脚本在客户的服务器104上运行,从而将客户的服务器104注册到电子装置106。定制好saltstack客户端脚本是一个很小的客户端安装文件,将其拷贝到业务服务器上,执行运行命令,会提示输入业务服务器的名字,输入业务服务器的server地址就完成了。saltstack客户端脚本运行完成后会主动链接到所述电子装置106,根据电子装置106的指令在业务服务器上完成相应操作,例如:1)接收电子装置106发送的文件,拷贝到业务服务器的相应位置;2)启动容器,停止容器;3)给电子装置106上传服务器信息、容器状态等。
在步骤208,进行服务部署。
在浏览器中输入电子装置106在所述第一内部网络中的IP地址以进入安装界面。
参考图4所示,在步骤2082,首先进行数据库服务的部署。
点击数据库选项卡,数据库架构可以选择1主1从,在下拉菜单中从所述服务部署需求对象的服务器104中选择相应的服务器104分别作为主服务器和从服务器。
在一些实施例中,所述电子装置106中预制了各种数据库架构可供选择。所述电子装置106获取所述服务部署需求对象的服务器104的信息,写在界面的下拉菜单中供选择。
填写数据库的安装路径。
在一些实施例中,默认安装在/data目录下;在检测到没有/data目录时,则可以安装在/usr/local/目录下。
点击安装按钮即可开始数据库服务的部署。
数据库部署完成且系统检测成功后显示部署结果。
在步骤2084,接着进行后台服务的部署。
点击后台选项卡,选择高可用架构,从所述服务部署需求对象的服务器104中选择两台服务器用于部署后台服务;所述高可用架构是一种相对于单点的服务器架构方式,即每个服务会部署到多个服务器。这里是菜单中服务器架构的一个选项,可以选择高可用或单点方式部署。
填写后台的安装路径。
在一些实施例中,默认安装在/data目录下,在检测到没有/data目录时,则可以安装在/usr/local/目录下。
点击安装按钮即可开始后台服务的部署,例如,可将后台服务的镜像文件发送到选定的业务服务器完成安装。
后台部署完成且系统检测成功后显示部署结果。
在步骤2086,然后进行前端服务的部署。
点击前端选项卡,选择高可用架构,从所述服务部署需求对象的服务器104中选择两台服务器安装前端服务;所述高可用架构是一种相对于单点的服务器架构方式,即每个服务会部署到多个服务器。这里是菜单中服务器架构的一个选项,可以选择高可用或单点方式部署。
填写前端的安装路径。
在一些实施例中,默认安装在/data目录下,在检测到没有/data目录时,则可以安装在/usr/local/目录下。
点击安装按钮即可开始前端服务的部署,例如,可将前端服务的镜像文件发送到选定的业务服务器完成安装。
在一些实施例中,高可用架构将安装keepalive和nginx两个服务。高可用架构中nginx+keepalive,将多个业务节点组成一个集群,保证每个业务节点都可以合理的分配到任务(负载均衡),且任何节点宕机业务业务仍可以正常运行(宕机的节点将被主节点的nginx的健康检查发现,并从集群中移除,直到nginx检查到该节点正常后,被nginx加入集群。如果nginx主节点宕机,keepalive将使的另一个nginx成为主节点)。
前端部署完成且系统检测成功后显示部署结果。
在步骤210,对部署完的服务进行测试。
点击测试按钮,调用测试脚本获取测试结果。
测试通过,完成服务部署。
在服务部署完成后,若相关服务需要进行更新,则根据不同情况,采用不同的更新手段。
若为前端服务或后台服务的常规更新,则可利用电子装置106接入所述服务运维系统102并获取前端服务或后台服务的最新镜像文件。
若为数据库更新,则需要在电子装置106中上传最新的sql文件,在利用电子装置106在所述服务部署需求对象的业务服务器中进行服务部署时会自动执行数据库更新操作。
若为前端服务或后台服务的较大的版本变化,则需要在电子装置106展示的界面(参考图3)的服务设置中重新填写镜像文件的tag。
若为前端服务或后台服务的配置改变,一般需要重新上传docker-compose文件。
从上述实施例可以看出,本公开提供了一种可以在物理隔离网络之间使用电子装置打通服务部署流水线上下游的私有化部署方式。在一些实施例中,本公开基于DevOps流水线,利用轻量化可移动的节点——“摆渡终端”(电子装置106),打破网络的物理隔离完成流水线对私有化部署的一种方式。其中代码更新、编译、扫描部分,摆渡终端将“停靠”在已有DevOps系统内自动完成。服务的私有化部署/检测部分,则将摆渡终端“摆渡”到网络物理隔离的客户公司网络内,通过构建轻量化的流水线下游部分完成私有化部署。同时摆渡终端不需接入业务服务器(被部署服务的服务器)内网,更不需将所有文件拷贝到业务服务器,提供了安全性能。
图5示出了本公开提供的一种服务部署方法的一个示例性流程的示意图。
如图5所示,所述服务部署方法300,应用于电子装置106,包括:
步骤302:从服务运维系统中获取待部署服务的安装文件。
在步骤302中,可以完成私有化部署的流水线上游的安装服务的获取和代码扫描。
在本步骤中,所述电子装置106(“摆渡终端”)可以提供用户界面(UI),例如,以web方式提供管理界面,以便完成与待部署服务相关的所有配置和操作。
在一些实施例中,所述电子装置106接入DevOps系统以获取最新稳定的安装包。
在一些实施例中,所述服务部署方法300,还包括:
利用所述服务运维系统对所述安装文件进行代码扫描和测试,以确定所述安装文件的可用性。
例如,所述电子装置106利用DevOps系统中的sonarqube进行代码扫描,扫描不通过则发布流水线停止,如果通过则流水线继续进行。
步骤304:接入服务部署需求对象的第一内部网络。
本步骤中,所述电子装置106被移动到服务部署需求对象(客户)的指定地点,例如该客户的任一办公地点或服务器所在地等,并且,所述电子装置106接入所述服务部署需求对象的第一内部网络,例如该客户的办公网络(一般员工使用的网络)。
一般地,所述第一内部网络设定的接入权限较低,所述电子装置106接入所述第一内部网络一般不需要特别授权。
步骤306:利用所述服务部署需求对象的授权协议,通过所述第一内部网络与工作在所述服务部署需求对象的第二内部网络中的业务服务器进行通信;其中,所述第二内部网络为所述服务部署需求对象的待部署服务的业务服务器的所处网络,所述第一内部网络与第二内部网络相互连通,所述第二内部网络允许通过所述授权协议而被访问。
本步骤中,所述服务部署需求对象的授权协议,可以是所述服务部署需求对象的授权的,也可以是所述服务部署需求对象的第二内部网络授权的;所述第二内部网络允许通过所述授权协议而被访问,使得电子装置106可以在采用授权协议的基础上,通过第一内部网络与第二内部网络实现通信,进而可以对业务服务器进行服务部署。
本步骤中,所述业务服务器为待部署服务的服务器,在服务部署完成后,该业务服务器上运行相应的服务,因而被称为业务服务器。
在一些实施例中,利用所述服务部署需求对象的授权协议,通过所述第一内部网络与工作在所述服务部署需求对象的第二内部网络中的业务服务器进行通信,包括:
基于saltstack批量管理工具,利用所述服务部署需求对象的授权协议,通过所述第一内部网络与工作在所述服务部署需求对象的第二内部网络中的业务服务器进行通信。
本实施例中,所述电子装置106是基于saltstack批量管理工具而开发的。saltstack是一种批量管理工具,使用zmq协议,相较于ssh协议的工具更安全,更容易被跨局域网的连接所接受。本实施例的电子装置106是基于saltstack批量管理工具而开发的,其使用zmq协议,一般可以被所述服务部署需求对象的第二内部网络中的业务服务器所接受,因此可以实现与业务服务器的通信。
本实施例中,利用saltstack将所述服务部署需求对象的服务器注册到电子装置106,从而完成服务器接入。
步骤308:利用所述待部署服务的安装文件在所述服务部署需求对象的业务服务器中完成服务部署。
本步骤中,可以完成私有化部署流水线下游的服务部署和插件安装。
在一些实施例中,当接入第二内部网络后,可以将服务器注册到电子装置106中,进而可以收集服务器信息,并通过web页面展示收集到的服务器信息,此时,可以根据服务器规模选择默认的服务器架构模板或自定义服务器架构,还可以根据需求勾选相应的配置项。
在一些实施例中,在电子装置106接收到安装指令之后,由web界面调用预制的saltstack命令开始在选择的服务器中进行服务部署,并收集安装信息通过web界面反馈。在一些实施例中,saltstack根据配置分发文件,对镜像文件进行释放、加载配置文件并初始化数据库。
在一些实施例中,从服务运维系统中获取待部署服务的安装文件,包括:获取所述待部署服务的镜像文件;
利用所述待部署服务的安装文件在所述服务部署需求对象的业务服务器中完成服务部署,包括:利用所述待部署服务的镜像文件在所述服务部署需求对象的业务服务器中采用容器技术(例如,Docker)完成服务部署。
Docker是一种容器引擎,服务的依赖可以全部移植到镜像中。在服务器中安装服务时,只需启动容器即可(如在linux服务器中,可以通过镜像启动windows的微信服务)。因此使得服务对服务器的环境依赖更低。
在一些实施例中,所述服务部署方法还包括:
从服务运维系统中获取待部署服务的镜像文件的管理文件;
利用所述待部署服务的镜像文件的管理文件(例如,docker-compose),在所述服务部署需求对象的业务服务器中完成对服务的管理部署。
docker-compose是一个docker的编排和生命周期管理工具。使得容器的启动方案变得一目了然,更便于管理。同时,可以对容器的生命周期、启动、停止等操作更方便。同时,我们考虑用docker-compose进行管理,相比于k8s、k3s等平台及管理方案更为轻量,更适合小集群的容器部署。
本实施例中,docker-compose为容器提供生命周期管理,主要管理内容包括:
镜像版本、持久化存储、端口映射、容器中变量、容器重启、容器网络。
一般地,容器中的文件在容器关闭后会被释放,持久化存储会将文件存储到本地,结束的容器重启后仍可回复原数据。在一些情况下,端口映射用于将容器中的端口映射到物理机,以便用户或程序访问。可选地,容器中变量包括创建数据库的账号密码、jvm虚拟机参数、URL地址等。docker-compose可选择容器重启方式,保证容器非正常退出后可以重新启动以保证服务的可用性。docker-compose可为容器划分不同网络,保证相关容器间互访和无关容器间网络隔离。
在一些实施例中,所述服务部署方法还包括:
调用所述业务服务器的服务接口对部署完成的服务进行测试。
例如,由web界面控制,调用服务接口完成测试。
在一些实施例中,所述服务部署方法还包括:
根据客户的插件安装请求,安装相应的插件,例如,安装监控、日志收集等服务。
在一些实施例中,所述服务部署方法还包括:
确定是否能够通过所述第一内部网络与工作在所述第二内部网络中的业务服务器进行通信;
若能够通过所述第一内部网络与工作在所述第二内部网络中的业务服务器进行通信,则执行步骤306;
若不能通过所述第一内部网络与工作在所述第二内部网络中的业务服务器进行通信,则切换部署模式。
例如,切换为基于ansible自动化运维工具开发的部署模式。
在有些情形中,存在一些服务器104不能直接通过电子装置106的IP地址访问电子装置106的情况,在这种情况下,电子装置106则不能通过所述第一内部网络与工作在所述第二内部网络中的业务服务器进行通信,而需通过向客户的网络安全管理部门申请ssh权限,切换到ansible方式进行服务器部署。
在一些实施例中,可采用ansible加docker-compose的容器安装方式,此时需要将电子装置106的秘钥拷贝到服务器以实现电子装置106对业务服务器的管理,进而可以对业务服务器按照ansible方式进行服务器部署。
从上述实施例可以看出,本公开基于DevOps流水线,利用轻量化可移动的节点——“摆渡终端”,打破网络的物理隔离完成流水线对私有化部署。在私有化部署中,利用该“摆渡终端”在物理隔离的客户私有网络构建流水线下游,并利用“摆渡终端”端承接上游流水线以完成私有化部署。其中整个部署过程可由图形界面提供管理。
本公开提供的服务部署方法,不需开发人员提供安装包,“摆渡终端”将自动获取业务服务最新稳定版安装包。本公开提供的服务部署方法,不需测试人员参与,“摆渡终端”将利用DevOps平台提供的测试系统进行代码扫描和测试,安装完成后从“摆渡终端”调用服务接口完成测试。本公开提供的服务部署方法,其安装过程不需拷贝整个程序到服务器,避免了技术泄漏。本公开提供的服务部署方法,基于saltstack提供批量管理,其部署完成的服务在业务服务器中使用zmq协议进行通信,更容易被客户内网的安全策略接受。本公开提供的服务部署方法,只需将“摆渡终端”接入客户办公网络(可以和内网服务器互通的网络),而不必接入服务器内网即可完成安装。本公开提供的服务部署方法,所有服务使用docker容器化,对业务服务器依赖较小,安装更便捷、可靠。本公开提供的服务部署方法,由docker-compose提供编排和生命周期管理,比k8s,k3s等容器管理平台占用资源更少,更适合于小规模的私有化安装,管理也更为简便。本公开提供的服务部署方法,在客户无法给“摆渡终端”提供有效IP地址的情况下(该情况较为少见),在web页面提供切换方式,切换到ansible方式部署。
本公开实施例还提供了一种电子装置,包括:
接口单元,用于连接到服务运维系统或服务部署需求对象的第一内部网络;
存储器,用于存储一组指令;以及
至少一个处理器,配置为执行该组指令以进行所述服务部署方法的任一实施例或实施例的排列、组合。
图6示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器401、存储器402、输入/输出接口403、通信接口404和总线405。其中处理器401、存储器402、输入/输出接口403和通信接口404通过总线405实现彼此之间在设备内部的通信连接。
处理器401可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本公开实施例所提供的技术方案。
存储器402可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器402可以存储操作系统和其他应用程序,在通过软件或者固件来实现本公开实施例所提供的技术方案时,相关的程序代码保存在存储器402中,并由处理器401来调用执行。
输入/输出接口403用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口404用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线405包括一通路,在设备的各个组件(例如处理器401、存储器402、输入/输出接口403和通信接口404)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器401、存储器402、输入/输出接口403、通信接口404以及总线405,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本公开实施例方案所必需的组件,而不必包含图中所示的全部组件。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述对本公开特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本公开旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (11)

1.一种服务部署方法,包括:
从服务运维系统中获取待部署服务的安装文件;
接入服务部署需求对象的第一内部网络;
利用所述服务部署需求对象的授权协议,通过所述第一内部网络与工作在所述服务部署需求对象的第二内部网络中的业务服务器进行通信;其中,所述第二内部网络为所述服务部署需求对象的待部署服务的业务服务器的所处网络,所述第一内部网络与第二内部网络相互连通,所述第二内部网络允许通过所述授权协议而被访问;
利用所述待部署服务的安装文件在所述服务部署需求对象的业务服务器中完成服务部署。
2.根据权利要求1所述的方法,其中,利用所述服务部署需求对象的授权协议,通过所述第一内部网络与工作在所述服务部署需求对象的第二内部网络中的业务服务器进行通信,包括:
基于批量管理工具,利用所述服务部署需求对象的授权协议,通过所述第一内部网络与工作在所述服务部署需求对象的第二内部网络中的业务服务器进行通信。
3.根据权利要求2所述的方法,其中,所述授权协议为zmq协议。
4.根据权利要求2或3所述的方法,其中,所述方法还包括:
利用所述服务运维系统对所述安装文件进行代码扫描和测试,以确定所述安装文件的可用性。
5.根据权利要求1所述的方法,其中,从服务运维系统中获取待部署服务的安装文件,包括:获取所述待部署服务的镜像文件;
利用所述待部署服务的安装文件在所述服务部署需求对象的业务服务器中完成服务部署,包括:利用所述待部署服务的镜像文件在所述服务部署需求对象的业务服务器中采用容器技术完成服务部署。
6.根据权利要求5所述的方法,其中,所述方法还包括:
从服务运维系统中获取待部署服务的镜像文件的管理文件;
利用所述待部署服务的镜像文件的管理文件,在所述服务部署需求对象的业务服务器中完成对服务的管理部署。
7.根据权利要求1所述的方法,其中,所述方法还包括:
调用所述业务服务器的服务接口对部署完成的服务进行测试。
8.根据权利要求1所述的方法,其中,所述方法还包括:
确定是否能够通过所述第一内部网络与工作在所述第二内部网络中的业务服务器进行通信;
若不能通过所述第一内部网络与工作在所述第二内部网络中的业务服务器进行通信,则切换部署模式。
9.一种电子装置,包括:
接口单元,用于连接到服务运维系统或服务部署需求对象的第一内部网络;
存储器,用于存储一组指令;以及
至少一个处理器,配置为执行该组指令以进行如权利要求1至8任意一项所述的方法。
10.一种服务部署系统,包括:
如权利要求9所述的电子装置,以及
服务运维系统,被配置为:与所述电子装置建立连接并向所述电子装置发送待部署服务的安装文件。
11.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1至8任一所述方法。
CN202011044431.XA 2020-09-28 2020-09-28 服务部署方法及相关设备 Pending CN114281352A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011044431.XA CN114281352A (zh) 2020-09-28 2020-09-28 服务部署方法及相关设备
US17/487,079 US20220103555A1 (en) 2020-09-28 2021-09-28 Service deployment method, device, system, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011044431.XA CN114281352A (zh) 2020-09-28 2020-09-28 服务部署方法及相关设备

Publications (1)

Publication Number Publication Date
CN114281352A true CN114281352A (zh) 2022-04-05

Family

ID=80821603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011044431.XA Pending CN114281352A (zh) 2020-09-28 2020-09-28 服务部署方法及相关设备

Country Status (2)

Country Link
US (1) US20220103555A1 (zh)
CN (1) CN114281352A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115987772A (zh) * 2022-12-09 2023-04-18 深圳安巽科技有限公司 一种运维管理方法、运维管理平台及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115629771B (zh) * 2022-12-08 2023-03-21 杭州比智科技有限公司 一种基于K3s的数据中台私有化部署方法及系统
CN117135050B (zh) * 2023-10-26 2024-02-09 建信金融科技有限责任公司 应用部署方法和装置
CN117880132A (zh) * 2024-01-25 2024-04-12 无锡众星微系统技术有限公司 一种基于ib网络的集群拓扑测试方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110065415A1 (en) * 2009-09-17 2011-03-17 Motorola, Inc. Facilitating interoperability among communication systems via inter- and intra-agency communications using a shared network
CN106487935A (zh) * 2016-12-21 2017-03-08 深圳市青葡萄科技有限公司 一种私有云内部服务器远程维护方法和系统
CN107257344A (zh) * 2017-07-05 2017-10-17 福建网龙计算机网络信息技术有限公司 服务器的访问方法及其系统
CN107483243A (zh) * 2017-08-09 2017-12-15 鹤云来科技有限公司 一种OpenStack平台的自动部署方法及设备
CN108897559A (zh) * 2018-06-26 2018-11-27 郑州云海信息技术有限公司 一种网络隔离下的软件升级实现系统和方法
CN109639652A (zh) * 2018-11-22 2019-04-16 贵州华云创谷科技有限公司 一种基于安全隔离的网间数据访问的方法及系统
CN109981367A (zh) * 2019-03-28 2019-07-05 湖南大学 基于内网穿透的虚机paas服务管理的方法
CN111538545A (zh) * 2020-04-23 2020-08-14 京东方科技集团股份有限公司 Java应用运行方法、装置、介质及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022015855A1 (en) * 2020-07-14 2022-01-20 Cazena, Inc. Cloud data fake platform and saas orchestration

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110065415A1 (en) * 2009-09-17 2011-03-17 Motorola, Inc. Facilitating interoperability among communication systems via inter- and intra-agency communications using a shared network
CN106487935A (zh) * 2016-12-21 2017-03-08 深圳市青葡萄科技有限公司 一种私有云内部服务器远程维护方法和系统
CN107257344A (zh) * 2017-07-05 2017-10-17 福建网龙计算机网络信息技术有限公司 服务器的访问方法及其系统
CN107483243A (zh) * 2017-08-09 2017-12-15 鹤云来科技有限公司 一种OpenStack平台的自动部署方法及设备
CN108897559A (zh) * 2018-06-26 2018-11-27 郑州云海信息技术有限公司 一种网络隔离下的软件升级实现系统和方法
CN109639652A (zh) * 2018-11-22 2019-04-16 贵州华云创谷科技有限公司 一种基于安全隔离的网间数据访问的方法及系统
CN109981367A (zh) * 2019-03-28 2019-07-05 湖南大学 基于内网穿透的虚机paas服务管理的方法
CN111538545A (zh) * 2020-04-23 2020-08-14 京东方科技集团股份有限公司 Java应用运行方法、装置、介质及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115987772A (zh) * 2022-12-09 2023-04-18 深圳安巽科技有限公司 一种运维管理方法、运维管理平台及存储介质

Also Published As

Publication number Publication date
US20220103555A1 (en) 2022-03-31

Similar Documents

Publication Publication Date Title
CN114281352A (zh) 服务部署方法及相关设备
US20210328873A1 (en) Dynamic and customizable virtual network functions
US9104454B2 (en) Virtual image overloading for solution deployment
US10013491B2 (en) Methods and systems of workload mobility across divergent platforms
CN110851167A (zh) 容器环境更新方法、装置、设备及存储介质
US20200272427A1 (en) Automatic generation of a container image
US20200073763A1 (en) Auto point in time data restore for instance copy
JP2021509498A (ja) コンピューティング・デバイス
CN111669284A (zh) OpenStack自动化部署方法、电子设备、存储介质及系统
US20230086377A1 (en) Dynamic automation of prerequisite component deployment in disconnected environments
CN113885849A (zh) 基于工业互联网平台的应用开发方法、装置及终端设备
CN116860266A (zh) 应用容器化部署方法、装置、电子设备及存储介质
CN114527996A (zh) 一种多服务的部署方法、装置、电子设备及存储介质
WO2021090254A1 (en) Automated techniques for detecting usage of software applications in computing environment using configuration objects
CN113312148B (zh) 一种大数据服务部署方法、装置、设备及介质
US11265211B1 (en) Continuous delivery of management configurations
Kaur et al. Docker and its features
CN111290818B (zh) 创建应用程序的操作方法及应用程序的操作方法
US20220067639A1 (en) Native Mobile Application for Tracking Physical Items
CN113286014A (zh) 基础域名的动态配置方法、装置及相关设备
CN112564979A (zh) 构建任务的执行方法、装置、计算机设备和存储介质
Rolland et al. A framework for encapsulating best business practices for electricity supply industry into generic patterns
US20220012159A1 (en) Heterogeneous services for enabling collaborative logic design and debug in aspect oriented hardware designing
US20240201979A1 (en) Updating Running Containers without Rebuilding Container Images
CN115455384A (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