CN110262805A - 一种应用系统的管理方法及装置 - Google Patents
一种应用系统的管理方法及装置 Download PDFInfo
- Publication number
- CN110262805A CN110262805A CN201910515357.6A CN201910515357A CN110262805A CN 110262805 A CN110262805 A CN 110262805A CN 201910515357 A CN201910515357 A CN 201910515357A CN 110262805 A CN110262805 A CN 110262805A
- Authority
- CN
- China
- Prior art keywords
- server
- container
- application
- operation instruction
- user
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000012795 verification Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 16
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000012423 maintenance Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000011022 operating instruction Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000002955 isolation Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例涉及计算机技术领域,尤其涉及一种应用系统的管理方法及装置,用以解决分布式应用运维操作流程复杂,管理不便的问题。本发明实施例包括:解析接收到的操作请求,确定所述操作请求对应的应用系统;确定所述应用系统的所有应用实例;针对所述应用系统的任一应用实例,确定所述应用实例对应的服务器侧信息,并根据所述操作请求,生成与所述服务器侧信息相对应的操作指令;根据服务器侧信息,将操作指令向对应的服务器发送,以使所述对应的服务器执行操作指令;接收服务器发送的执行输出信息,并将所述执行输出信息向用户显示。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用系统的管理方法及装置。
背景技术
在传统的客户端/服务器结构中,应用程序逻辑通常分布在客户端和服务器两端,客户端发出数据资源访问请求,服务器端将结果返回客户端。客户端/服务器结构的缺陷是,当客户端数目激增时,服务器的性能将会因为无法进行负载平衡而大大下降。而一旦应用的需求发生变化,客户端和服务器端的应用程序则都需要修改,这样给应用的维护和升级带来了极大的不便,而且大量数据的传输也增加了网络的负载。为了解决客户端/服务器存在的问题,企业向分布式应用转变。
企业的分布式应用系统部署场景下,普遍存在同一个应用同时安装部署在多个服务器和/或容器上的情况,很多时候需要运维人员批量的对应用的所有实例进行管理,既要对服务器上部署的应用实例进行管理又要对部署在容器上的应用实例进行管理。运维操作对运维人员要求较高,且操作流程复杂繁琐,管理较为不便。
发明内容
本申请提供一种应用系统的管理方法及装置,用以解决分布式应用运维操作流程复杂,管理不便的问题。
本发明实施例提供的一种应用系统的管理方法,包括:
解析接收到的操作请求,确定所述操作请求对应的应用系统;
确定所述应用系统的所有应用实例;
针对所述应用系统的任一应用实例,确定所述应用实例对应的服务器侧信息,并根据所述操作请求,生成与所述服务器侧信息相对应的操作指令;
根据服务器侧信息,将操作指令向对应的服务器发送,以使所述对应的服务器执行操作指令;
接收服务器发送的执行输出信息,并将所述执行输出信息向用户显示。
一种可选的实施例中,所述确定所述应用实例对应的服务器侧信息,包括:
判断所述应用实例对应的服务器侧类型;
若所述应用实例对应的服务器侧类型为操作系统类,则确定所述应用实例所在服务器的位置;
若所述应用实例对应的服务器侧类型为容器类,则确定所述应用实例所在容器的标识、所述容器所在服务器的位置以及所述容器的最小资源管理单位POD标识。
一种可选的实施例中,若应用实例对应的服务器侧类型为操作系统类,所述根据所述操作请求,生成与所述服务器侧信息相对应的操作指令,包括:
生成第一操作指令,所述第一操作指令中包括用户公钥,以使所述应用实例所在服务器根据所述用户公钥确定用户权限。
一种可选的实施例中,若应用实例对应的服务器侧类型为容器类,所述根据所述操作请求,生成与所述服务器侧信息相对应的操作指令,包括:
生成第二操作指令,所述第二操作指令中包括用户名和密码,以使所述容器所在服务器利用所述用户名和密码进行权限验证。
一种可选的实施例中,若应用实例对应的服务器侧类型为容器类,所述根据服务器侧信息,将操作指令向对应的服务器发送之前,还包括:
向所述容器所在服务器发送状态检查指令;
若接收到的反馈信息为所述容器处于运行状态,则执行所述将操作指令向对应的服务器发送的步骤;
若接收到的反馈信息为所述容器处于非运行状态,则向用户显示提示信息。
本发明实施例还提供一种应用系统的管理装置,包括:
解析模块,用于解析接收到的操作请求,确定所述操作请求对应的应用系统;
确定模块,用于确定所述应用系统的所有应用实例;
生成模块,用于针对所述应用系统的任一应用实例,确定所述应用实例对应的服务器侧信息,并根据所述操作请求,生成与所述服务器侧信息相对应的操作指令;
收发模块,用于根据服务器侧信息,将操作指令向对应的服务器发送,以使所述对应的服务器执行操作指令;
所述收发模块,还用于接收服务器发送的执行输出信息;
显示模块,用于将所述执行输出信息向用户显示。
一种可选的实施例中,所述生成模块,具体用于:
判断所述应用实例对应的服务器侧类型;
若所述应用实例对应的服务器侧类型为操作系统类,则确定所述应用实例所在服务器的位置;
若所述应用实例对应的服务器侧类型为容器类,则确定所述应用实例所在容器的标识、所述容器所在服务器的位置以及所述容器的最小资源管理单位POD标识。
一种可选的实施例中,若应用实例对应的服务器侧类型为操作系统类,所述生成模块,具体用于:
生成第一操作指令,所述第一操作指令中包括用户公钥,以使所述应用实例所在服务器根据所述用户公钥确定用户权限。
一种可选的实施例中,若应用实例对应的服务器侧类型为容器类,所述生成模块,具体用于:
生成第二操作指令,所述第二操作指令中包括用户名和密码,以使所述容器所在服务器利用所述用户名和密码进行权限验证。
一种可选的实施例中,所述收发模块,还用于若应用实例对应的服务器侧类型为容器类,向所述容器所在服务器发送状态检查指令;若接收到的反馈信息为所述容器处于运行状态,则执行所述将操作指令向对应的服务器发送的步骤;
所述显示模块,还用于若接收到的反馈信息为所述容器处于非运行状态,则向用户显示提示信息。
本发明实施例还提供一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
本发明实施例还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上所述的方法。
在分布式系统中,应用系统可以部署在多个服务器上,表现为服务器上的应用实例。客户端在根据用户的操作请求进行应用系统管理时,需要对所有应用实例进行管理。本发明实施例中,客户端接收用户输入的操作请求,解析操作请求,确定操作请求对应的应用系统,并确定应用系统对应的所有应用实例。针对应用系统的任一应用实例,客户端确定该应用实例对应的服务器侧信息,并根据操作请求,生成与服务器侧信息对应的操作指令。之后,客户端根据服务器侧信息,将操作指令向对应的服务器发送。当服务器执行完对应的操作指令后,会向客户端发送执行输出信息,则客户端将执行输出信息向用户进行显示。本发明实施例中,用户只需向客户端发送一条操作请求,并指定应用系统,无需判断该应用系统的部署位置以及针对不同的应用实例分别发送操作指令,后续过程由客户端自动执行完成,对应用系统的管理过程简洁且无需人为干涉,节省了管理操作时间,提高了执行效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种可能的系统构架的结构示意图;
图2为本发明实施例提供的一种应用系统的管理方法的流程示意图;
图3为本发明具体实施例提供的应用系统的管理方法的流程示意图;
图4为本发明实施例提供的一种应用系统的管理装置的结构示意图;
图5为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明实施例所适用的一种系统架构,包括服务器101以及客户端102。其中,服务器101可以是计算机等网络设备。服务器101可以是一个独立的设备,也可以是多个服务器所形成的服务器集群。优选地,服务器101可以采用云计算技术进行信息处理。客户端102安装于终端上,终端可以是手机、平板电脑或者是专用的手持设备等具有无线通信功能的电子设备,也可以是个人计算机(personal computer,简称PC),笔记本电脑,服务器等有线接入方式连接上网的设备。终端可以是一个独立的设备,也可以是多个终端所形成的终端集群。优选地,终端可以采用云计算技术进行信息处理。
客户端102可以通过INTERNET网络与服务器101进行通信,也可以通过全球移动通信系统(Global System for Mobile Communications,简称GSM)、长期演进(long termevolution,简称LTE)系统等移动通信系统与服务器101进行通信。
为了便于理解,下面对本发明实施例中可能涉及的名词进行定义和解释。
Linux服务器:指采用Linux内核操作系统的应用服务器,本发明实施例中的Linux服务器安装有sshd服务,能够提供基于用户密码和用户公钥的方式进行ssh登录功能。
ssh:Secure Shell的缩写,是一种专为远程登录会话和其他网络服务提供安全性的协议,本文中主要指通过ssh协议进行安全登录Linux服务器的方式。
容器:指服务器上通过内核的cgroups、namespace等多种技术实现的一个相互隔离的虚拟化环境,被隔离的互相独立的包括cpu、内存、网络空间、进程ID等一些列的服务器资源。
Docker:指由dotCloud公司开源的一个容器引擎,企业IT开发人员可以将应用及其运行所依赖的所有环境资源都打包到容器镜像中,然后可以发布到任何安装有Docker引擎的Linux服务器中。
k8s:kubernetes的缩写,是google公司开源的一个容器集群管理系统;在Docker技术的基础上,k8s为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。
POD:指k8s分布式容器集群中的最小资源管理单位,POD中会运行一个或几个容器,一个POD中的不同容器之间可以共享POD中的所有资源,没有隔离性。
kubectl:kubectl是k8s集群的一个客户端工具,通过kubectl可以对k8s集群中的各种资源与对象进行管理,包括查看、编辑、创建、删除等。
镜像:本文中的镜像是指按照Docker容器所指定的文件打包方式所打包出的一个分层的文件系统。Docker镜像可以通过命令进行叠加,每次叠加的文件会在镜像的最上层,最底层的镜像被称为基础镜像。本文中的镜像都是基于Linux操作系统的基础镜像构建。
批量:本文中的批量指同时对多个对象同时进行操作管理。比如同时对多台Linux服务器运行一条命令。
基于上述架构,本发明实施例提供了一种应用系统的管理方法,如图2所示,本发明实施例提供的应用系统的管理方法包括以下步骤:
步骤201、客户端解析接收到的操作请求,确定所述操作请求对应的应用系统。
具体地,用户向客户端发送操作请求,可以为用户直接向客户端发送一条操作请求,并在操作请求中直接包含对应的应用系统。例如,用户直接输入操作命令如下:
remoteCtl–s sys-A–c“ps–efw|grep sys-A”
该条操作命令中,A为应用系统的名称,具体的操作为“ps–efw|grep sys-A”,即查看应用进程状态。客户端通过解析该条操作命令,确定需要对应用系统A执行查看应用进程状态的命令。
也可以为客户端向用户提供操作请求标识的选项和应用系统标识的选项,用户通过选择向客户端发送具体的操作请求以及对应的应用系统。
步骤202、客户端确定所述应用系统的所有应用实例。
具体实施过程中,应用系统与应用实例的对应关系已预先存储,该对应关系可以存储在客户端中,为了便于管理,本发明实施例中存储在其他装置或系统中,例如配置管理系统,配置管理系统提供API(Application Programming Interface,应用程序编程)接口可供外部调用以查询相关对应关系。
步骤203、针对所述应用系统的任一应用实例,客户端确定所述应用实例对应的服务器侧信息,并根据所述操作请求,生成与所述服务器侧信息相对应的操作指令。
与上述类似的,每个应用实例对应的服务器侧信息也存储在配置管理系统中,客户端可以调用配置管理系统提供的API接口,以获取应用实例对应的服务器侧信息。客户端进一步根据操作请求,生成适合不同服务器执行的操作指令。
步骤204、客户端根据服务器侧信息,将操作指令向对应的服务器发送,以使所述对应的服务器执行操作指令。
步骤205、客户端接收服务器发送的执行输出信息,并将所述执行输出信息向用户显示。
在分布式系统中,应用系统可以部署在多个服务器上,表现为服务器上的应用实例。客户端在根据用户的操作请求进行应用系统管理时,需要对所有应用实例进行管理。本发明实施例中,客户端接收用户输入的操作请求,解析操作请求,确定操作请求对应的应用系统,并确定应用系统对应的所有应用实例。针对应用系统的任一应用实例,客户端确定该应用实例对应的服务器侧信息,并根据操作请求,生成与服务器侧信息对应的操作指令。之后,客户端根据服务器侧信息,将操作指令向对应的服务器发送。当服务器执行完对应的操作指令后,会向客户端发送执行输出信息,则客户端将执行输出信息向用户进行显示。本发明实施例中,用户只需向客户端发送一条操作请求,并指定应用系统,无需判断该应用系统的部署位置以及针对不同的应用实例分别发送操作指令,后续过程由客户端自动执行完成,对应用系统的管理过程简洁且无需人为干涉,节省了管理操作时间,提高了执行效率。
本发明实施例中,同一个应用系统可以在多个服务器上部署应用实例,也可以在多个容器中部署应用实例,也可以同时在多个服务器以及多个容器中部署应用实例。因此,针对一个应用实例,确定其具体位置时,需要判断对应的服务器侧类型,其中,服务器侧类型包括操作系统类和容器类。
下面针对应用实例对应不同服务器侧类型的情况,进行分别介绍。
情况一,服务器侧类型为操作系统类,即应用实例直接部署在服务器上。所述确定所述应用实例对应的服务器侧信息,包括:
判断所述应用实例对应的服务器侧类型;
若所述应用实例对应的服务器侧类型为操作系统类,则确定所述应用实例所在服务器的位置。
具体实施过程中,若应用实例直接部署在服务器上,需要确定该服务器的位置,例如,可以根据服务器IP确定服务器的位置,因此,需要获取应用实例所在服务器的IP。与上述类似的,可以在配置管理系统中预先存储应用实例与服务器IP的对应关系,客户端可以通过调用配置管理系统的API接口,查询到应用实例与服务器IP的对应关系,从而获取服务器IP。
进一步地,在这种情况下,所述根据所述操作请求,生成与所述服务器侧信息相对应的操作指令,包括:
生成第一操作指令,所述第一操作指令中包括用户公钥,以使所述应用实例所在服务器根据所述用户公钥确定用户权限。
具体来说,当应用实例对应的服务器侧类型为操作系统类时,客户端根据操作命令以及服务器侧信息,生成第一操作指令,第一操作指令的形式为适应于服务器中的操作系统执行。例如根据操作命令remoteCtl–s sys-A–c“ps–efw|grep sys-A”生成适合Linux操作系统远程执行的第一操作指令为ssh user@ip‘ps–efw|grep sys-A’。之后,根据服务器侧信息,将第一操作指令向服务器发送。
为了使客户端可以管理服务器上的应用实例,对于服务器侧类型为操作系统类时,可以在客户端上生成用户的公钥和私钥,使用公钥配置客户端可以无密码登录所有需要管理的服务器。这里,客户端登录服务器,可以是客户端与服务器开始连接时,客户端向服务器发送连接请求中包含有用户的公钥,服务器与客户端建立连接后,客户端向服务器发送的请求中可以不再包含用户公钥,服务器可以直接根据客户端的标识确定用户有权直接登录。另一种方式,客户端不预先登录,客户端向服务器发送的第一操作指令中包含用户公钥。服务器接收到第一操作指令后,根据用户公钥确定用户有权管理服务器上的应用实例,则对第一操作指令进行处理。
情况二,服务器侧类型为容器类,即应用实例部署在服务器上的容器内。所述确定所述应用实例对应的服务器侧信息,包括:
判断所述应用实例对应的服务器侧类型;
若所述应用实例对应的服务器侧类型为容器类,则确定所述应用实例所在容器的标识、所述容器所在服务器的位置以及所述容器的最小资源管理单位POD标识。
具体实施过程中,若应用实例容器中,则除了需要确定容器所在的服务器的位置,还需要确定具体的容器。则,除了服务器IP之外,还需获取容器信息,如应用实例所在容器的标识和容器的POD标识。与上述类似的,可以在配置管理系统中预先存储应用实例与容器信息的对应关系,客户端可以通过调用配置管理系统的API接口,查询到应用实例与容器信息的对应关系,从而获取容器信息。
进一步地,在这种情况下,所述根据所述操作请求,生成与所述服务器侧信息相对应的操作指令,包括:
生成第二操作指令,所述第二操作指令中包括用户名和密码,以使所述容器所在服务器利用所述用户名和密码进行权限验证。
具体来说,当应用实例对应的服务器侧类型为容器类时,客户端根据操作命令以及服务器侧信息,生成第二操作指令,第二操作指令的形式为适应于服务器上的容器执行。例如根据操作命令remoteCtl–s sys-A–c“ps–efw|grep sys-A”生成适合容器远程执行的第二操作指令为kubectl exec pod-name–it–ps–efw|grep sys-A。之后,根据服务器侧信息,将第二操作指令向容器所在的服务器发送。
对于容器中的应用实例,可以将登陆方式设置为用户名密码登陆,从而利用用户名和密码赋予用户管理权限。现有技术中,实际企业应用环境中的物理机上会部署多个容器,不同容器分别隶属于不同的运维人员或运维室,现有的方案中运维人员登录到物理机后就可以直接登录进该物理机上的所有容器,无法限制运维人员不登录不属于自己的容器,安全性比较差。本发明实施例中,在服务器上配置不同的命名空间,每个命名空间中包括对应的容器,用户分别授权至命名空间。即用户只能登录其授权的命名空间,进入其中的容器进行管理操作,并通过用户名密码对该用户的权限进行验证。客户端可以在向服务器发送的第一个第二操作指令中包含用户名和密码,通过用户名和密码登录。服务器对用户名和密码进行验证,并确定用户的访问权限。
具体实施方式可以为,在服务器上配置访问控制方式为用户名和密码模式,并设置多个命名空间,每个命名空间对应需要权限隔离的运维组,每个运维组的容器隶属于该运维组对应的命名空间。在客户端的配置文件中配置用户名密码,并将访问地址指向需要管理的容器所在服务器的地址。
由于服务器上的容器存在运行状态和非运行状态,当容器处于非运行状态是,无法对容器中的应用实例进行管理,因此,若应用实例对应的服务器侧类型为容器类,所述根据服务器侧信息,将操作指令向对应的服务器发送之前,还包括:
向所述容器所在服务器发送状态检查指令;
若接收到的反馈信息为所述容器处于运行状态,则执行所述将操作指令向对应的服务器发送的步骤;
若接收到的反馈信息为所述容器处于非运行状态,则向用户显示提示信息。
具体实施过程中,当应用实例位于容器中,除了生成第二操作指令外,客户端还会针对该应用实例所在的容器生成状态检查指令,并在发送第二操作指令之前向容器所在服务器发送状态检查指令。如果服务器反馈的应用实例的POD状态为运行状态,则向服务器发送该应用实例的第二操作指令。若服务器反馈的应用实例的POD状态为非运行状态,则不向服务器发送该应用实例的第二操作指令,同时向用户反馈容器POD状态不是运行状态的提示信息。
为了更清楚地理解本发明,下面以具体实施例对上述流程进行详细描述,本发明具体实施例中,应用系统的应用实例部署在Linux服务器以及Docker容器中,并且Docker容器也部署在Linux服务上。Linux服务器通过SSH协议进行安全登录。Docker容器通过k8s系统管理,Docker容器所在的服务器上配置k8s系统,对应的用户终端上安装kubectl客户端。此外,设置配置管理系统,将所有需要管理的Linux服务器信息(至少包括服务器IP、服务器上运行的应用系统名称等)与k8s集群管理的所有Docker容器信息(至少包括容器名称、POD名称、容器内部署的应用系统名称、容器所在的物理机IP等)录入到配置管理系统。配置管理系统提供API接口可供外部调用以查询相关的Linux服务器信息与Docker容器信息。
在k8s的服务器上配置k8s apiserver的访问控制方式为用户名、密码模式,并设置多个命名空间,每个命名空间对应需要权限隔离的运维组,一个运维组中可以包含不同数量的用户,每个运维组管理的容器分别隶属于该运维组对应的命名空间。
在用户终端上运行ssh-keygen生成用户的公钥和私钥,使用公钥配置客户端,可以无密码登录所有需要管理的Linux服务器。
同时,在用户终端上安装kubectl客户端,并在配置文件中配置在k8s服务器上分配的用户密码,将apiserver地址指向被管理的k8s服务器集群的apiserver地址。
具体实施例的步骤如图3所示,包括:
步骤S301:客户端接收用户输入的操作请求。具体地,用户登录到客户端,选择需要操作的应用系统并输入操作命令,如remoteCtl–s sys-A–c“ps–efw|grep sys-A”,即对sys-A应用系统的所有应用实例所在的服务器(包括Linux服务器和Docker容器)执行ps–efw|grep sys-A命令查看应用进程状态。
步骤S302:客户端解析操作请求,确定操作请求对应的应用系统。
步骤S303:客户端确定应用系统的所有应用实例。具体可以为调用配置管理系统的API接口,查询sys-A的所有应用实例的信息,包括Linux服务器的IP、容器实例的POD名称等。
步骤S304:针对一个应用实例,客户端判断该应用实例对应的服务器侧类型,若为操作系统类,则执行步骤305;若为容器类,则执行步骤307。
步骤S305:客户端确定应用实例所在的服务器IP,根据操作请求,生成第一操作指令。具体为,客户端针对Linux服务器生成适合远程执行Linux操作的命令ssh user@ip‘ps–efw|grep sys-A’,并放入Linux服务器待发送队列。
步骤S306:客户端从Linux服务器待发送队列中依次取出第一操作指令并发送。之后执行步骤312。
步骤S307:客户端确定应用实例对应容器信息,包括应用实例所在容器的名称、容器所在服务器IP以及容器的POD名称,并生成状态检查指令。状态检查指令具体为kubectlget pod|grep pod-name,并被放入容器状态待发送队列。
步骤S308:客户端根据操作请求,生成第二操作指令。具体为,客户端针对Docker容器生成适合远程管理容器的命令kubectl exec pod-name–it–ps–efw|grep sys-A并放入容器待发送队列。
步骤S309:客户端从容器状态待发送队列中依次取出状态检查指令并发送。
步骤S310:若服务器反馈为运行状态,则执行步骤311,否则执行步骤313。
步骤S311:客户端容器待发送队列中依次取出第二操作指令并发送。之后执行步骤312。
步骤S312:客户端接收服务器发送的执行输出信息,并向用户显示。
步骤S313:客户端向用户显示容器处于非运行状态的提示信息。
本发明实施例还提供了一种应用系统的管理装置,如图4所示,包括:
解析模块401,用于解析接收到的操作请求,确定所述操作请求对应的应用系统;
确定模块402,用于确定所述应用系统的所有应用实例;
生成模块403,用于针对所述应用系统的任一应用实例,确定所述应用实例对应的服务器侧信息,并根据所述操作请求,生成与所述服务器侧信息相对应的操作指令;
收发模块404,用于根据服务器侧信息,将操作指令向对应的服务器发送,以使所述对应的服务器执行操作指令;
所述收发模块404,还用于接收服务器发送的执行输出信息;
显示模块405,用于将所述执行输出信息向用户显示。
可选的,所述生成模块403,具体用于:
判断所述应用实例对应的服务器侧类型;
若所述应用实例对应的服务器侧类型为操作系统类,则确定所述应用实例所在服务器的位置;
若所述应用实例对应的服务器侧类型为容器类,则确定所述应用实例所在容器的标识、所述容器所在服务器的位置以及所述容器的最小资源管理单位POD标识。
可选的,若应用实例对应的服务器侧类型为操作系统类,所述生成模块403,具体用于:
生成第一操作指令,所述第一操作指令中包括用户公钥,以使所述应用实例所在服务器根据所述用户公钥确定用户权限。
可选的,若应用实例对应的服务器侧类型为容器类,所述生成模块403,具体用于:
生成第二操作指令,所述第二操作指令中包括用户名和密码,以使所述容器所在服务器利用所述用户名和密码进行权限验证。
可选的,所述收发模块404,还用于若应用实例对应的服务器侧类型为容器类,向所述容器所在服务器发送状态检查指令;若接收到的反馈信息为所述容器处于运行状态,则执行所述将操作指令向对应的服务器发送的步骤;
所述显示模块405,还用于若接收到的反馈信息为所述容器处于非运行状态,则向用户显示提示信息。
基于相同的原理,本发明还提供一种电子设备,如图5所示,包括:
包括处理器501、存储器502、收发机503、总线接口504,其中处理器501、存储器502与收发机503之间通过总线接口504连接;
所述处理器501,用于读取所述存储器502中的程序,执行下列方法:
解析接收到的操作请求,确定所述操作请求对应的应用系统;
确定所述应用系统的所有应用实例;
针对所述应用系统的任一应用实例,确定所述应用实例对应的服务器侧信息,并根据所述操作请求,生成与所述服务器侧信息相对应的操作指令;
根据服务器侧信息,将操作指令向对应的服务器发送,以使所述对应的服务器执行操作指令;
接收服务器发送的执行输出信息,并将所述执行输出信息向用户显示。
可选的,所述处理器501,具体用于:
判断所述应用实例对应的服务器侧类型;
若所述应用实例对应的服务器侧类型为操作系统类,则确定所述应用实例所在服务器的位置;
若所述应用实例对应的服务器侧类型为容器类,则确定所述应用实例所在容器的标识、所述容器所在服务器的位置以及所述容器的最小资源管理单位POD标识。
可选的,所述处理器501,具体用于:
若应用实例对应的服务器侧类型为操作系统类,则生成第一操作指令,所述第一操作指令中包括用户公钥,以使所述应用实例所在服务器根据所述用户公钥确定用户权限。
可选的,所述处理器501,具体用于:
若应用实例对应的服务器侧类型为容器类,则生成第二操作指令,所述第二操作指令中包括用户名和密码,以使所述容器所在服务器利用所述用户名和密码进行权限验证。
可选的,所述处理器501,具体用于:
若应用实例对应的服务器侧类型为容器类,则向所述容器所在服务器发送状态检查指令;
若接收到的反馈信息为所述容器处于运行状态,则执行所述将操作指令向对应的服务器发送的步骤;
若接收到的反馈信息为所述容器处于非运行状态,则向用户显示提示信息。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (12)
1.一种应用系统的管理方法,其特征在于,包括:
解析接收到的操作请求,确定所述操作请求对应的应用系统;
确定所述应用系统的所有应用实例;
针对所述应用系统的任一应用实例,确定所述应用实例对应的服务器侧信息,并根据所述操作请求,生成与所述服务器侧信息相对应的操作指令;
根据服务器侧信息,将操作指令向对应的服务器发送,以使所述对应的服务器执行操作指令;
接收服务器发送的执行输出信息,并将所述执行输出信息向用户显示。
2.如权利要求1所述的方法,其特征在于,所述确定所述应用实例对应的服务器侧信息,包括:
判断所述应用实例对应的服务器侧类型;
若所述应用实例对应的服务器侧类型为操作系统类,则确定所述应用实例所在服务器的位置;
若所述应用实例对应的服务器侧类型为容器类,则确定所述应用实例所在容器的标识、所述容器所在服务器的位置以及所述容器的最小资源管理单位POD标识。
3.如权利要求2所述的方法,其特征在于,若应用实例对应的服务器侧类型为操作系统类,所述根据所述操作请求,生成与所述服务器侧信息相对应的操作指令,包括:
生成第一操作指令,所述第一操作指令中包括用户公钥,以使所述应用实例所在服务器根据所述用户公钥确定用户权限。
4.如权利要求2所述的方法,其特征在于,若应用实例对应的服务器侧类型为容器类,所述根据所述操作请求,生成与所述服务器侧信息相对应的操作指令,包括:
生成第二操作指令,所述第二操作指令中包括用户名和密码,以使所述容器所在服务器利用所述用户名和密码进行权限验证。
5.如权利要求2所述的方法,其特征在于,若应用实例对应的服务器侧类型为容器类,所述根据服务器侧信息,将操作指令向对应的服务器发送之前,还包括:
向所述容器所在服务器发送状态检查指令;
若接收到的反馈信息为所述容器处于运行状态,则执行所述将操作指令向对应的服务器发送的步骤;
若接收到的反馈信息为所述容器处于非运行状态,则向用户显示提示信息。
6.一种应用系统的管理装置,其特征在于,包括:
解析模块,用于解析接收到的操作请求,确定所述操作请求对应的应用系统;
确定模块,用于确定所述应用系统的所有应用实例;
生成模块,用于针对所述应用系统的任一应用实例,确定所述应用实例对应的服务器侧信息,并根据所述操作请求,生成与所述服务器侧信息相对应的操作指令;
收发模块,用于根据服务器侧信息,将操作指令向对应的服务器发送,以使所述对应的服务器执行操作指令;
所述收发模块,还用于接收服务器发送的执行输出信息;
显示模块,用于将所述执行输出信息向用户显示。
7.如权利要求6所述的装置,其特征在于,所述生成模块,具体用于:
判断所述应用实例对应的服务器侧类型;
若所述应用实例对应的服务器侧类型为操作系统类,则确定所述应用实例所在服务器的位置;
若所述应用实例对应的服务器侧类型为容器类,则确定所述应用实例所在容器的标识、所述容器所在服务器的位置以及所述容器的最小资源管理单位POD标识。
8.如权利要求7所述的装置,其特征在于,若应用实例对应的服务器侧类型为操作系统类,所述生成模块,具体用于:
生成第一操作指令,所述第一操作指令中包括用户公钥,以使所述应用实例所在服务器根据所述用户公钥确定用户权限。
9.如权利要求7所述的装置,其特征在于,若应用实例对应的服务器侧类型为容器类,所述生成模块,具体用于:
生成第二操作指令,所述第二操作指令中包括用户名和密码,以使所述容器所在服务器利用所述用户名和密码进行权限验证。
10.如权利要求7所述的装置,其特征在于,
所述收发模块,还用于若应用实例对应的服务器侧类型为容器类,向所述容器所在服务器发送状态检查指令;若接收到的反馈信息为所述容器处于运行状态,则执行所述将操作指令向对应的服务器发送的步骤;
所述显示模块,还用于若接收到的反馈信息为所述容器处于非运行状态,则向用户显示提示信息。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5任一所述的方法。
12.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1~5任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910515357.6A CN110262805A (zh) | 2019-06-14 | 2019-06-14 | 一种应用系统的管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910515357.6A CN110262805A (zh) | 2019-06-14 | 2019-06-14 | 一种应用系统的管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110262805A true CN110262805A (zh) | 2019-09-20 |
Family
ID=67918245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910515357.6A Pending CN110262805A (zh) | 2019-06-14 | 2019-06-14 | 一种应用系统的管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110262805A (zh) |
-
2019
- 2019-06-14 CN CN201910515357.6A patent/CN110262805A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536519B (zh) | 自动搭建Kubernetes主节点的方法及终端设备 | |
CN109564527B (zh) | 云计算节点的安全配置 | |
CN112104723B (zh) | 一种多集群的数据处理系统及方法 | |
CN113296798B (zh) | 一种服务部署方法、装置及可读存储介质 | |
CN110622129A (zh) | 使用软件容器用于加速数据分析应用程序开发和部署的各方面的方法、系统和门户 | |
WO2016037479A1 (zh) | 虚拟化网络功能vnf优化方法、装置及系统 | |
CN106031128B (zh) | 移动设备管理的方法和装置 | |
WO2015171578A1 (en) | Task coordination in distributed systems | |
US20180302500A1 (en) | Environment isolation method and device | |
WO2018119589A1 (zh) | 账户管理方法、装置及账户管理系统 | |
CN107517124A (zh) | 基于tcp协议远程配置版本管理软件svn权限的方法及装置 | |
US20210182440A1 (en) | System for preventing access to sensitive information and related techniques | |
US11783066B2 (en) | Securely sharing files with user devices based on location | |
WO2021126329A1 (en) | Context-aware obfuscation and unobfuscation of sensitive content | |
US11165783B1 (en) | Quantifying permissiveness of access control policies using model counting techniques and automated policy downscaling | |
CN112256760B (zh) | 一种数据预测方法、装置、计算机设备及存储介质 | |
CN116743496A (zh) | 设备远程操作方法、装置、计算机设备和存储介质 | |
CN111461718A (zh) | 区块链节点的接入方法、装置及系统 | |
US11768692B2 (en) | Systems and methods for automated application launching | |
CN110262805A (zh) | 一种应用系统的管理方法及装置 | |
CN110808943B (zh) | 客户端连接应急管理方法、客户端及计算机可读存储介质 | |
CN114389868A (zh) | 一种云资源的分配方法、系统、装置及存储介质 | |
US20230419067A1 (en) | ENHANCED QUICK RESPONSE (qr) CODE SCAN SECURITY | |
CN115022021B (zh) | 一种访问k8s方法、系统、设备及计算机可读存储介质 | |
US20240028399A1 (en) | Automatically generating workflows across cloud services involving user-controlled components |
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 |