CN111580927B - 通信的方法及容器通信系统 - Google Patents
通信的方法及容器通信系统 Download PDFInfo
- Publication number
- CN111580927B CN111580927B CN202010253093.4A CN202010253093A CN111580927B CN 111580927 B CN111580927 B CN 111580927B CN 202010253093 A CN202010253093 A CN 202010253093A CN 111580927 B CN111580927 B CN 111580927B
- Authority
- CN
- China
- Prior art keywords
- container
- processing module
- operation request
- daemon
- unit
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 111
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 95
- 238000012795 verification Methods 0.000 claims description 24
- 238000012544 monitoring process Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
- 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/45587—Isolation or security of 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/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种通信方法及容器通信系统。该方法应用于容器通信系统,容器通信系统包括应用程序接口模块、处理模块和网络通信模块,方法包括:应用程序接口模块接收目标宿主机中容器发送的针对目标宿主机中容器守护进程的操作请求,并将操作请求发送至处理模块;处理模块根据操作请求,生成针对容器守护进程的操作指令,并将操作指令发送至网络通信模块;网络通信模块将操作指令发送至容器守护进程,接收容器守护进程发送的操作结果,并将操作结果发送至处理模块。采用本申请可以在容器中对容器守护进程进行操作。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种通信的方法及容器通信系统。
背景技术
目前,技术人员通常是通过直接操作宿主机中的容器守护进程,实现宿主机上容器的创建、启动、复制等功能。当技术人员想要在容器中对容器守护进程进行操作时,需要将容器守护进程中的网络通信文件和可执行文件目录挂载到容器中。这样,技术人员可以通过在容器内执行操作脚本来操作容器守护进程,以实现容器的创建、启动、复制等功能。
基于上述方式,容器中可能依然会缺失宿主机上已有的一些库文件。此时,需要技术人员手动在容器中安装缺失的库,或者将宿主机中该容器缺失的库文件挂载到容器中。
然而,由于不同的容器中缺失的库文件可能不同,当宿主机中容器的规模较大时,技术人员需要手动在不同的容器中安装不同的库,或者将宿主机中的不同的库文件挂载到不同的容器中,从而导致维护和配置成本较高。
发明内容
基于此,有必要针对上述技术问题,提供一种通信的方法及容器通信系统。
第一方面,提供了一种通信方法,所述方法应用于容器通信系统,所述容器通信系统包括应用程序接口模块、处理模块和网络通信模块,所述方法包括:
所述应用程序接口模块接收目标宿主机中容器发送的针对所述目标宿主机中容器守护进程的操作请求,并将所述操作请求发送至所述处理模块;
所述处理模块根据所述操作请求,生成针对所述容器守护进程的操作指令,并将所述操作指令发送至所述网络通信模块;
所述网络通信模块将所述操作指令发送至所述容器守护进程,接收所述容器守护进程发送的操作结果,并将所述操作结果发送至所述处理模块。
作为一种可选的实施方式,所述处理模块根据所述操作请求,生成针对所述容器守护进程的操作指令,并将所述操作指令发送至所述网络通信模块,包括:
所述处理模块获取所述操作请求对应的容器客户端;
所述处理模块通过所述容器客户端根据所述操作请求,生成针对所述容器守护进程的操作指令,并将所述操作指令发送至所述网络通信模块。
作为一种可选的实施方式,所述处理模块获取所述操作请求对应的容器客户端,包含
所述处理模块创建所述操作请求对应的容器客户端;或者,
所述处理模块从容器连接池中选取空闲的容器客户端,作为所述操作请求对应的容器客户端。
作为一种可选的实施方式,所述应用程序接口模块包括网关单元和鉴权单元,所述应用程序接口模块接收目标宿主机中容器发送的针对所述目标宿主机中容器守护进程的操作请求,并将所述操作请求发送至所述处理模块,包括:
所述网关单元接收目标宿主机中容器发送的针对所述目标宿主机中容器守护进程的操作请求,所述操作请求中携带有所述容器的验证信息;
所述网关单元向所述鉴权单元发送鉴权请求,所述鉴权请求中携带有所述容器的验证信息;
如果所述验证信息与所述鉴权单元中存储的验证信息相同,则所述鉴权单元向所述网关单元发送鉴权成功响应;
所述网关单元基于所述鉴权成功响应将所述操作请求发送至所述处理模块。
作为一种可选的实施方式,所述应用程序接口模块还包括日志单元,所述方法还包括:
所述网关单元将所述操作请求发送至所述日志单元;
所述日志单元根据所述操作请求,生成操作日志,并将所述操作日志存储至本地。
作为一种可选的实施方式,所述应用程序接口模块还包括检索单元和监控单元,所述方法还包括:
所述日志单元将所述操作日志发送至所述检索单元;
所述检索单元根据所述操作日志,构建所述操作日志对应的索引,并将所述操作日志和所述索引发送至所述监控单元;
所述监控单元基于所述操作日志和所述索引,显示所述操作日志。
第二方面,提供了一种容器通信系统,所述容器通信系统包括应用程序接口模块、处理模块和网络通信模块;
所述应用程序接口模块,用于接收目标宿主机中容器发送的针对所述目标宿主机中容器守护进程的操作请求,并将所述操作请求发送至所述处理模块;
所述处理模块,用于根据所述操作请求,生成针对所述容器守护进程的操作指令,并将所述操作指令发送至所述网络通信模块;
所述网络通信模块,用于将所述操作指令发送至所述容器守护进程,接收所述容器守护进程发送的操作结果,并将所述操作结果发送至所述处理模块。
作为一种可选的实施方式,所述处理模块,用于获取所述操作请求对应的容器客户端;
所述处理模块,用于通过所述容器客户端根据所述操作请求,生成针对所述容器守护进程的操作指令,并将所述操作指令发送至所述网络通信模块。
作为一种可选的实施方式,所述处理模块,用于创建所述操作请求对应的容器客户端;或者,
所述处理模块,用于从容器连接池中选取空闲的容器客户端,作为所述操作请求对应的容器客户端。
作为一种可选的实施方式,所述应用程序接口模块包括网关单元和鉴权单元;
所述网关单元,用于接收所述容器发送的针对所述容器守护进程的操作请求,所述操作请求中携带有所述容器的验证信息;
所述网关单元,还用于向所述鉴权单元发送鉴权请求,所述鉴权请求中携带有所述容器的验证信息;
如果所述验证信息,用于与所述鉴权单元中存储的验证信息相同,则所述鉴权单元向所述网关单元发送鉴权成功响应;
所述网关单元,还用于基于所述鉴权成功响应将所述操作请求发送至所述处理模块。
作为一种可选的实施方式,所述应用程序接口模块还包括日志单元;
所述网关单元,还用于将所述操作请求发送至所述日志单元;
所述日志单元,用于根据所述操作请求,生成操作日志,并将所述操作日志存储至本地。
作为一种可选的实施方式,所述应用程序接口模块还包括检索单元和监控单元;
所述日志单元,还用于将所述操作日志发送至所述检索单元;
所述检索单元,用于根据所述操作日志,构建所述操作日志对应的索引,并将所述操作日志和所述索引发送至所述监控单元;
所述监控单元,用于基于所述操作日志和所述索引,显示所述操作日志。
第三方面,提供了一种通信系统,所述通信系统包括第二方面所述的容器通信系统和宿主机,所述宿主机中包括容器和容器守护进程。
第四方面,提供了一种计算机设备,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面中任一项所述方法的步骤。
第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。
本申请提供了一种通信的方法。该方法应用于宿主机中的容器通信系统,宿主机中还包括容器和容器守护进程,容器通信系统包括应用程序接口模块、处理模块和网络通信模块。应用程序接口模块接收容器发送的针对容器守护进程的操作请求,并将操作请求发送至处理模块。处理模块根据操作请求,生成针对容器守护进程的操作指令,并将操作指令发送至网络通信模块。网络通信模块将操作指令发送至所述容器守护进程,接收所述容器守护进程发送的操作结果,并将所述操作结果发送至所述处理模块。这样,无需将容器守护进程中的网络通信文件和可执行文件目录挂载到容器中,就可以直接通过容器守护进程开放的接口对容器守护进程进行操作,从而减少了技术人员在容器内部调用容器相关的脚本命令,并减少了在安装缺失的库文件时易犯错且复杂的操作,进而提高开发效率和运维效率。同时,容器服务集群还可以统一共享宿主机中容器资源。
附图说明
图1A为本申请实施例提供的一种宿主机的结构示意图;
图1B为本申请实施例提供的一种宿主机的结构示意图;
图2为本申请实施例提供的一种通信方法的流程图;
图3为本申请实施例提供的一种通信方法的流程图;
图4为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了便于理解,本申请实施例优先对本申请提供的通信系统进行介绍。图1A和图1B为本申请实施例提供的一种通信系统的结构示意图。如图1A所示,该通信系统中,容器100、容器通信系统200和容器守护程序300设置于同一宿主机中。可选的,该容器通信系统也可以运行在宿主机中的容器中。如图1B所示,该通信系统中,容器100和容器守护程序300设置于同一宿主机中,容器通信系统200设置于其他计算机设备中。如图1A和图1B所示,容器通信系统200包括应用程序接口模块210、处理模块220和网络通信模块230。其中,应用程序接口模块210,用于接收容器100发送的针对容器守护进程300的操作请求,并将操作请求发送至处理模块220;处理模块220,用于根据操作请求,生成针对容器守护进程300的操作指令,并将操作指令发送至网络通信模块230;网络通信模块230将操作指令发送至容器守护进程300,接收容器守护进程300发送的操作结果,并将操作结果发送至处理模块220。这样,无需将容器守护进程300中的网络通信文件和可执行文件目录挂载到容器100中,就可以直接通过容器守护进程300开放的接口对容器守护进程300进行操作。
下面将结合具体实施方式,对本申请实施例提供的一种通信方法进行详细的说明,该方法应用于容器通信系统200。容器通信系统200包括应用程序接口模块210、处理模块220和网络通信模块230。如图2所示,具体步骤如下:
步骤201,应用程序接口模块接收目标宿主机中容器发送的针对目标宿主机中容器守护进程的操作请求,并将操作请求发送至处理模块。
在实施中,当技术人员想要在设置于目标宿主机中的容器100中对设置于目标宿主机中的容器守护进程300进行操作时,技术人员可以通过容器100向容器通信系统200发送针对容器守护进程300的操作请求。相应的,容器通信系统200中的应用程序接口模块210会接收到容器100发送的针对容器守护进程300的操作请求。然后,应用程序接口模块210可以将该操作请求发送至处理模块220。可选的,应用程序接口模块210在接收到容器100发送的操作请求后,可以通过预设的负载均衡策略将操作请求分发到处理模块220。
步骤202,处理模块根据操作请求,生成针对容器守护进程的操作指令,并将操作指令发送至网络通信模块。
在实施中,处理模块220接收到操作请求后,可以对操作请求进行抽象和封装,生成针对容器守护进程300的操作指令。其中,操作指令可以为命令提示符(command,CMD),也可以为其他类型的操作指令,本申请实施例不作限定。其中,处理模块220根据操作请求,生成针对容器守护进程300的操作指令的处理过程如下。
步骤一,处理模块获取操作请求对应的容器客户端。
在实施中,处理模块220接收到操作请求后,可以通过容器客户端(client)对操作请求进行处理。其中,每个操作请求对应一个容器客户端。相应的,处理模块220可以获取操作请求对应的容器客户端。其中,处理模块220获取操作请求对应的容器客户端的方式可以是多种多样的。本申请实施例提供了两种可行的实施方式,具体如下。
方式一,处理模块创建操作请求对应的容器客户端。
在实施中,处理模块220接收到操作请求后,可以创建操作请求对应的容器客户端。
方式二,处理模块从容器连接池中选取空闲的容器客户端,作为操作请求对应的容器客户端。
在实施中,处理模块220中可以设置有容器连接池。其中,容器连接池中包括多个容器客户端。处理模块220接收到操作请求后,可以从容器连接池中选取一个空闲的容器客户端,作为操作请求对应的容器客户端。后续,容器客户端处理完操作请求后,处理模块220可以释放该容器客户端。这样,可以避免频繁创建容器客户端所造成的资源浪费,并达到容器客户端复用的目的。
步骤二,处理模块通过容器客户端根据操作请求,生成针对容器守护进程的操作指令,并将操作指令发送至网络通信模块。
在实施中,处理模块220获取到容器客户端后,可以通过容器客户端对操作请求进行面向对象的封装和抽象处理,生成针对容器守护进程300的操作指令。然后,处理模块220可以通过容器客户端将操作指令发送至网络通信模块230。
步骤203,网络通信模块将操作指令发送至容器守护进程,接收容器守护进程发送的操作结果,并将操作结果发送至处理模块。
在实施中,网络通信模块230接收到操作指令后,可以根据通信组件配置,通过策略模式实例化通信组件(也即生成通信客户端),并通过通信客户端将操作指令发送至容器守护进程300。后续,容器守护进程300执行操作指令后,可以将操作结果发送至网络通信模块230。相应的,网络通信模块230接收到操作结果后,可以进一步通过回调的方式将操作结果发送至处理模块220。具体的,网络通信模块230可以将操作结果发送至处理模块220中该操作指令对应的容器客户端。可选的,容器客户端接收到操作结果后,也可以进一步将操作结果通过应用程序接口模块转发至发送操作请求的容器。其中,网络通信模块230中的通信组件可以为Apache httpclient或okHttp或websocket或http或restTemplate,还可以为其他类型的通信组件,本申请实施例不作限定。
作为一种可选的实施方式,应用程序接口模块210包括网关单元和鉴权单元。相应的,如图3所示,应用程序接口模块210接收目标宿主机中容器100发送的针对目标宿主机中容器守护进程300的操作请求,并将操作请求发送至处理模块200的处理过程如下。
步骤301,网关单元接收目标宿主机中容器发送的针对目标宿主机中容器守护进程的操作请求。其中,操作请求中携带有容器的验证信息。
在实施中,容器100向容器通信系统200发送针对容器守护进程300的操作请求时,可以在操作请求中携带该容器的验证信息。相应的,应用程序接口模块210中的网关单元则会接收到容器100发送的针对容器守护进程300的操作请求。然后,网关单元可以对操作请求进行解析,得到操作请求中携带的该容器100的验证信息。
步骤302,网关单元向鉴权单元发送鉴权请求。其中,鉴权请求中携带有容器的验证信息。
在实施中,网关单元得到操作请求中携带的该容器100的验证信息后,可以向鉴权单元发送鉴权请求。其中,鉴权请求中携带有容器的验证信息。
步骤303,如果验证信息与鉴权单元中存储的验证信息相同,则鉴权单元向网关单元发送鉴权成功响应。
在实施中,鉴权单元接收到鉴权请求,可以将鉴权请求中携带的验证信息与本地存储的该容器的验证信息进行比较。如果验证信息与本地存储的验证信息相同,则说明该容器验证成功。相应的,鉴权单元向网关单元发送鉴权成功响应。如果验证信息与本地存储的验证信息不相同,则说明该容器验证失败。相应的,鉴权单元向网关单元发送鉴权失败响应。
步骤304,网关单元基于鉴权成功响应将操作请求发送至处理模块。
在实施中,网关单元接收到鉴权成功响应后,可以将操作请求发送至处理模块。如此,可以对恶意的操作请求进行拦截。
作为一种可选的实施方式,应用程序接口模块210还包括日志单元,应用程序接口模块210可以通过日志单元生成并存储操作日志。具体处理过程为网关单元将操作请求发送至日志单元。日志单元根据操作请求,生成操作日志,并将操作日志存储至本地。
在实施中,网关单元接收到该容器100发送的操作请求后,可以将该操作请求发送至日志单元。日志单元接收到该操作请求后,可以根据该操作请求,生成该容器100的操作日志(记录操作请求创建时间的日志),并将该容器100的操作日志存储至本地。
作为一种可选的实施方式,应用程序接口模块210还包括检索单元和监控单元。应用程序接口模块210可以通过检索单元和监控单元操作去请求进行监控。具体处理过程为日志单元将操作日志发送至检索单元。检索单元根据操作日志,构建操作日志对应的索引,并将操作日志和索引发送至监控单元。监控单元基于操作日志和索引,显示操作日志。
在实施中,日志单元根据操作请求,生成操作日志后,可以将操作日志发送至检索单元。检索单元可以根据操作日志,构建操作日志对应的索引,并将操作日志和索引发送至监控单元。监控单元接收到操作日志和索引后,可以检索或统计某索引下的日志(例如,统计2020年1月1日到2020年1月20日之间创建的日志条数,或者,统计容器A创建的日志条数),将检索或统计结果通过宿主机上的浏览器进行显示。这样,可以对容器发送的操作请求进行监控,可以防止宿主机中容器资源的浪费。
本申请提供了一种通信的方法。该方法应用于宿主机中的容器通信系统,宿主机中还包括容器和容器守护进程,容器通信系统包括应用程序接口模块、处理模块和网络通信模块。应用程序接口模块接收容器发送的针对容器守护进程的操作请求,并将操作请求发送至处理模块。处理模块根据操作请求,生成针对容器守护进程的操作指令,并将操作指令发送至网络通信模块。网络通信模块将操作指令发送至所述容器守护进程,接收所述容器守护进程发送的操作结果,并将所述操作结果发送至所述处理模块。这样,无需将容器守护进程中的网络通信文件和可执行文件目录挂载到容器中,可以直接通过容器守护进程开放的接口对容器守护进程进行操作,从而减少了技术人员在容器内部调用容器相关的脚本命令,并减少了在安装缺失的库文件时易犯错且复杂的操作,进而提高开发效率和运维效率。同时,容器服务集群还可以统一共享宿主机中容器资源。
本申请实施例还提供了一种容器通信系统200,如图1A和图1B所示,所述容器通信系统200包括应用程序接口模块210、处理模块220和网络通信模块230;
所述应用程序接口模块210,用于接收目标宿主机中容器100发送的针对所述目标宿主机中容器守护进程300的操作请求,并将所述操作请求发送至所述处理模块220;
所述处理模块220,用于根据所述操作请求,生成针对所述容器守护进程300的操作指令,并将所述操作指令发送至所述网络通信模块230;
所述网络通信模块230,用于将所述操作指令发送至所述容器守护进程300,接收所述容器守护进程300发送的操作结果,并将所述操作结果发送至所述处理模块220。
作为一种可选的实施方式,所述处理模块220,用于获取所述操作请求对应的容器客户端;
所述处理模块220,用于通过所述容器客户端根据所述操作请求,生成针对所述容器守护进程300的操作指令,并将所述操作指令发送至所述网络通信模块230。
作为一种可选的实施方式,所述处理模块220,用于创建所述操作请求对应的容器客户端;或者,
所述处理模块220,用于从容器连接池中选取空闲的容器客户端,作为所述操作请求对应的容器客户端。
作为一种可选的实施方式,所述应用程序接口模块210包括网关单元和鉴权单元;
所述网关单元,用于接收所述容器100发送的针对所述容器守护进程300的操作请求,所述操作请求中携带有所述容器100的验证信息;
所述网关单元,还用于向所述鉴权单元发送鉴权请求,所述鉴权请求中携带有所述容器100的验证信息;
如果所述验证信息,用于与所述鉴权单元中存储的验证信息相同,则所述鉴权单元向所述网关单元发送鉴权成功响应;
所述网关单元,还用于基于所述鉴权成功响应将所述操作请求发送至所述处理模块220。
作为一种可选的实施方式,所述应用程序接口模块210还包括日志单元;
所述网关单元,还用于将所述操作请求发送至所述日志单元;
所述日志单元,用于根据所述操作请求,生成操作日志,并将所述操作日志存储至本地。
作为一种可选的实施方式,所述应用程序接口模块210还包括检索单元和监控单元;
所述日志单元,还用于将所述操作日志发送至所述检索单元;
所述检索单元,用于根据所述操作日志,构建所述操作日志对应的索引,并将所述操作日志和所述索引发送至所述监控单元;
所述监控单元,用于基于所述操作日志和所述索引,显示所述操作日志。
本申请提供了一种容器通信系统,该容器通信系统包括应用程序接口模块、处理模块和网络通信模块。应用程序接口模块接收容器发送的针对容器守护进程的操作请求,并将操作请求发送至处理模块。处理模块根据操作请求,生成针对容器守护进程的操作指令,并将操作指令发送至网络通信模块。网络通信模块将操作指令发送至所述容器守护进程,接收所述容器守护进程发送的操作结果,并将所述操作结果发送至所述处理模块。这样,无需将容器守护进程中的网络通信文件和可执行文件目录挂载到容器中,可以直接通过容器守护进程开放的接口对容器守护进程进行操作,从而减少了技术人员在容器内部调用容器相关的脚本命令,并减少了在安装缺失的库文件时易犯错且复杂的操作,进而提高开发效率和运维效率。同时,容器服务集群还可以统一共享宿主机中容器资源。
在一个实施例中,提供了一种计算机设备,如图4所示,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述通信方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的通信方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种通信方法,其特征在于,所述方法应用于容器通信系统,所述容器通信系统运行在宿主机的容器中,所述容器通信系统包括应用程序接口模块、处理模块和网络通信模块,所述方法包括:
所述应用程序接口模块接收目标宿主机中容器发送的针对所述目标宿主机中容器守护进程的操作请求,通过预设的负载均衡策略将所述操作请求分发到所述处理模块;
所述处理模块根据所述操作请求,生成针对所述容器守护进程的操作指令,并将所述操作指令发送至所述网络通信模块;
所述网络通信模块将所述操作指令发送至所述容器守护进程,接收所述容器守护进程发送的操作结果,并将所述操作结果发送至所述处理模块。
2.根据权利要求1所述的方法,其特征在于,所述处理模块根据所述操作请求,生成针对所述容器守护进程的操作指令,并将所述操作指令发送至所述网络通信模块,包括:
所述处理模块获取所述操作请求对应的容器客户端;
所述处理模块通过所述容器客户端根据所述操作请求,生成针对所述容器守护进程的操作指令,并将所述操作指令发送至所述网络通信模块。
3.根据权利要求2所述的方法,其特征在于,所述处理模块获取所述操作请求对应的容器客户端,包含
所述处理模块创建所述操作请求对应的容器客户端;或者,
所述处理模块从容器连接池中选取空闲的容器客户端,作为所述操作请求对应的容器客户端。
4.根据权利要求1所述的方法,其特征在于,所述应用程序接口模块包括网关单元和鉴权单元,所述应用程序接口模块接收目标宿主机中容器发送的针对所述目标宿主机中容器守护进程的操作请求,并将所述操作请求发送至所述处理模块,包括:
所述网关单元接收目标宿主机中容器发送的针对所述目标宿主机中容器守护进程的操作请求,所述操作请求中携带有所述容器的验证信息;
所述网关单元向所述鉴权单元发送鉴权请求,所述鉴权请求中携带有所述容器的验证信息;
如果所述验证信息与所述鉴权单元中存储的验证信息相同,则所述鉴权单元向所述网关单元发送鉴权成功响应;
所述网关单元基于所述鉴权成功响应将所述操作请求发送至所述处理模块。
5.根据权利要求4所述的方法,其特征在于,所述应用程序接口模块还包括日志单元,所述方法还包括:
所述网关单元将所述操作请求发送至所述日志单元;
所述日志单元根据所述操作请求,生成操作日志,并将所述操作日志存储至本地。
6.根据权利要求5所述的方法,其特征在于,所述应用程序接口模块还包括检索单元和监控单元,所述方法还包括:
所述日志单元将所述操作日志发送至所述检索单元;
所述检索单元根据所述操作日志,构建所述操作日志对应的索引,并将所述操作日志和所述索引发送至所述监控单元;
所述监控单元基于所述操作日志和所述索引,显示所述操作日志。
7.一种容器通信系统,其特征在于,所述容器通信系统运行在宿主机的容器中,所述容器通信系统包括应用程序接口模块、处理模块和网络通信模块;
所述应用程序接口模块,用于接收目标宿主机中容器发送的针对所述目标宿主机中容器守护进程的操作请求,通过预设的负载均衡策略将所述操作请求分发到所述处理模块;
所述处理模块,用于根据所述操作请求,生成针对所述容器守护进程的操作指令,并将所述操作指令发送至所述网络通信模块;
所述网络通信模块,用于将所述操作指令发送至所述容器守护进程,接收所述容器守护进程发送的操作结果,并将所述操作结果发送至所述处理模块。
8.一种通信系统,其特征在于,所述通信系统包括如权利要求7所述的容器通信系统和宿主机,所述宿主机中包括容器和容器守护进程。
9.一种计算机设备,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010253093.4A CN111580927B (zh) | 2020-04-02 | 2020-04-02 | 通信的方法及容器通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010253093.4A CN111580927B (zh) | 2020-04-02 | 2020-04-02 | 通信的方法及容器通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111580927A CN111580927A (zh) | 2020-08-25 |
CN111580927B true CN111580927B (zh) | 2024-03-19 |
Family
ID=72111493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010253093.4A Active CN111580927B (zh) | 2020-04-02 | 2020-04-02 | 通信的方法及容器通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111580927B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113406906B (zh) * | 2021-05-26 | 2022-08-23 | 中国联合网络通信集团有限公司 | 工业料理设备的远程控制方法及其设备 |
CN114780211B (zh) * | 2022-06-16 | 2022-11-08 | 阿里巴巴(中国)有限公司 | 管理安全容器的方法及基于安全容器的系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015142404A1 (en) * | 2014-03-21 | 2015-09-24 | Nicira, Inc. | Dynamic routing for logical routers |
CN106383852A (zh) * | 2016-08-30 | 2017-02-08 | 中国民生银行股份有限公司 | 基于Docker容器的日志获取方法和装置 |
CN107045455A (zh) * | 2017-06-19 | 2017-08-15 | 华中科技大学 | 一种基于负载预测的Docker Swarm集群资源调度优化方法 |
US9811806B1 (en) * | 2016-09-15 | 2017-11-07 | International Business Machines Corporation | Determining license use for composed container services in cloud platforms |
CN107368369A (zh) * | 2017-06-27 | 2017-11-21 | 中国联合网络通信集团有限公司 | 分布式容器管理方法及系统 |
CN107402800A (zh) * | 2016-03-18 | 2017-11-28 | 阿里巴巴集团控股有限公司 | 一种更新容器守护进程的方法和设备 |
CN108737584A (zh) * | 2017-04-19 | 2018-11-02 | 中国移动通信集团山西有限公司 | 容器服务的访问方法、网络地址的解析方法、装置和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8056119B2 (en) * | 2008-04-25 | 2011-11-08 | Oracle America, Inc. | Method and system for controlling inter-zone communication |
US20140089618A1 (en) * | 2009-06-12 | 2014-03-27 | Network Appliance, Inc. | Method and system to provide storage utilizing a daemon model |
US10360410B2 (en) * | 2016-11-14 | 2019-07-23 | International Business Machines Corporation | Providing containers access to container daemon in multi-tenant environment |
-
2020
- 2020-04-02 CN CN202010253093.4A patent/CN111580927B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015142404A1 (en) * | 2014-03-21 | 2015-09-24 | Nicira, Inc. | Dynamic routing for logical routers |
CN107402800A (zh) * | 2016-03-18 | 2017-11-28 | 阿里巴巴集团控股有限公司 | 一种更新容器守护进程的方法和设备 |
CN106383852A (zh) * | 2016-08-30 | 2017-02-08 | 中国民生银行股份有限公司 | 基于Docker容器的日志获取方法和装置 |
US9811806B1 (en) * | 2016-09-15 | 2017-11-07 | International Business Machines Corporation | Determining license use for composed container services in cloud platforms |
CN108737584A (zh) * | 2017-04-19 | 2018-11-02 | 中国移动通信集团山西有限公司 | 容器服务的访问方法、网络地址的解析方法、装置和系统 |
CN107045455A (zh) * | 2017-06-19 | 2017-08-15 | 华中科技大学 | 一种基于负载预测的Docker Swarm集群资源调度优化方法 |
CN107368369A (zh) * | 2017-06-27 | 2017-11-21 | 中国联合网络通信集团有限公司 | 分布式容器管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111580927A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108959385B (zh) | 数据库部署方法、装置、计算机设备和存储介质 | |
CN112000741B (zh) | 内外网数据交换系统、方法、装置、计算机设备和介质 | |
CN111580927B (zh) | 通信的方法及容器通信系统 | |
US11184465B2 (en) | Network communication for establishing a QUIC connection | |
CN110929202B (zh) | 页面请求失败处理方法、装置及计算机设备 | |
CN110908778B (zh) | 任务部署方法、系统和存储介质 | |
CN109697112B (zh) | 分布式集约化一站式作业系统和实现方法 | |
CN104144202B (zh) | Hadoop分布式文件系统的访问方法、系统和装置 | |
CN109144487B (zh) | 进件业务开发方法、装置、计算机设备和存储介质 | |
CN113626286A (zh) | 多集群实例处理方法、装置、电子设备及存储介质 | |
US20170046199A1 (en) | Migrating objects from a source service to a target service | |
CN111897492B (zh) | 一种基于块设备驱动的数据处理方法、装置及电子设备 | |
CN112187747A (zh) | 一种远程容器登录方法、装置及电子设备 | |
CN112114994A (zh) | 异常处理方法、装置、设备及介质 | |
CN112395187A (zh) | 测试方法、系统、计算机设备及存储介质 | |
CN111026988A (zh) | 一种页面加载的方法、装置、系统及计算机设备 | |
CN112181762A (zh) | 软件项目应用基础环境部署与三遥的可视化处理方法 | |
CN115509756A (zh) | 多集群计算任务提交方法及相关装置、设备 | |
CN113127929A (zh) | 数据脱敏方法、脱敏规则处理方法、装置、设备及存储介质 | |
CN116860699A (zh) | 文件管理方法、系统、计算机设备及计算机可读存储介质 | |
US10462266B2 (en) | Data communication method and apparatus | |
CN111478941B (zh) | Mock自动化运行方法、装置、计算机设备及存储介质 | |
CN115208872B (zh) | 边缘云镜像数据处理方法、装置、计算机设备和存储介质 | |
CN112511386B (zh) | 基于robotframework的车载以太网测试方法、系统以及太网测试设备 | |
CN114756435A (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 |