CN112231043A - 对安全容器的健康检测方法、电子设备及介质 - Google Patents
对安全容器的健康检测方法、电子设备及介质 Download PDFInfo
- Publication number
- CN112231043A CN112231043A CN202010922660.0A CN202010922660A CN112231043A CN 112231043 A CN112231043 A CN 112231043A CN 202010922660 A CN202010922660 A CN 202010922660A CN 112231043 A CN112231043 A CN 112231043A
- Authority
- CN
- China
- Prior art keywords
- container
- health detection
- port
- load balancer
- health
- 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
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
- 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
-
- 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/45591—Monitoring or debugging 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/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)
Abstract
本说明书实施例公开了对安全容器的健康检测方法、电子设备以及介质。该方法包括:向负载均衡器发送健康检测命令以调用所述负载均衡器对安全容器进行健康检测,或者,向所述负载均衡器发送对于所述安全容器的健康查询请求;接收所述负载均衡器返回的关于所述安全容器的健康检测结果;其中,所述安全容器设置在用户的虚拟私有网络中并且封装在虚拟机内,所述负载均衡器设置在所述虚拟私有网络中。
Description
技术领域
本公开涉及云技术,更具体地,涉及对安全容器的健康检测方法、电子设备以及介质。
背景技术
容器技术是一种轻量级的虚拟化方式,将应用与必要的执行环境打包成容器镜像,使得应用程序可以直接在宿主机中相对独立地运行。参见图1所示,在传统的容器技术中,容器直接运行在宿主机上(容器运行起来为容器进程),可以使用命名空间(Namespace)等技术进行隔离,容器之间仍然共享宿主机的操作***内核,隔离性和安全性较弱。参见图2所示,安全容器技术是把容器放在一个轻量级虚拟机(lightweight Virtual Machine)中,使用硬件虚拟化等技术提供隔离,可以提升容器和宿主机的安全性。
云服务商提供的公有云服务中,虚拟私有网络(也称之为Virtual PrivateCloud,虚拟私有云)是通过网络虚拟化技术,定义在公有云上的逻辑隔离的网络空间,是属于用户的专有网络。
容器健康探测是容器生态的重要功能,可以由运行在宿主机上的管理组件向容器发起容器安全探测。当安全容器设置在私有网络中时,由于宿主机网络和私有网络之间的隔离性,宿主机无法访问安全容器的端口,导致容器健康探测无法正常进行。
因此,有必要提供一种容器健康探测方案,可以适用于对运行在虚拟私有网络的容器进行健康探测。
发明内容
本公开提供对安全容器的健康检测方法、电子设备以及介质,可以适用于对运行在虚拟私有网络的安全容器进行健康探测。
根据本公开实施例的第一方面,提供了一种对安全容器的健康检测方法,应用于安全容器的宿主机,所述方法包括:
向负载均衡器发送健康检测命令以调用所述负载均衡器对安全容器进行健康检测,或者,向所述负载均衡器发送对于所述安全容器的健康查询请求;
接收所述负载均衡器返回的关于所述安全容器的健康检测结果;
其中,所述安全容器设置在用户的虚拟私有网络中并且封装在虚拟机内,所述负载均衡器设置在所述虚拟私有网络中。
可选地,在根据所述响应结果确定所述安全容器的待检测端口的健康状态之后,所述在向负载均衡器发送所述健康检测命令或所述健康查询请求之前,所述方法还包括:
在所述虚拟私有网络中创建所述负载均衡器;
为所述负载均衡器创建监听端口;
将所述安全容器的端口配置为所述监听端口的监听对象,以使得所述负载均衡器通过所述监听端口对所述安全容器的端口进行健康检测。
可选地,所述健康检测命令或者所述健康查询请求中含有所述安全容器的标识和所述安全容器的端口的端口号。
可选地,所述端口包括TCP端口和/或HTTP端口。
根据本公开实施例的第二方面,提供了一种对安全容器的健康检测方法,应用于负载均衡器,所述方法包括:
接收安全容器的宿主机发送的健康检测命令,根据所述健康检测命令对安全容器进行健康检测以得到所述安全容器的健康检测结果;
将所述安全容器的健康检测结果返回给所述宿主机;
其中,所述安全容器设置在用户的虚拟私有网络中并且封装在虚拟机内,所述负载均衡器设置在所述虚拟私有网络中。
可选地,所述健康检测命令中含有所述安全容器的标识和所述安全容器的端口的端口号;
所述根据所述健康检测命令对安全容器进行健康检测,包括:
从所述健康检测命令获取所述标识和所述端口号;
根据所述标识和所述端口号确定监听端口;
通过所述监听端口对所述安全容器的端口进行健康检测。
根据本公开实施例的第三方面,提供了一种对安全容器的健康检测方法,应用于负载均衡器,所述方法包括:
以预设周期对安全容器进行健康检测并且存储所述安全容器的健康检测结果;
在接收到所述安全容器的宿主机发送的健康查询请求时,根据所述健康查询请求查询出所述安全容器的最近一个周期的健康检测结果,将查询出的健康检测结果返回给所述宿主机。
可选地,所述端口包括TCP端口和/或HTTP端口。
根据本公开实施例的第四方面,提供了一种电子设备,包括处理器和存储器,所述存储器中存储有计算机指令,所述计算机指令被所述处理器执行时,实现本公开实施例的第一方面提供的方法。
根据本说明书公开的第五方面,提供了一种电子设备,包括处理器和存储器,所述存储器中存储有计算机指令,所述计算机指令被所述处理器执行时,实现本公开实施例的第二方面提供的方法。
根据本说明书公开的第六方面,提供了一种电子设备,包括处理器和存储器,所述存储器中存储有计算机指令,所述计算机指令被所述处理器执行时,实现本公开实施例的第三方面提供的方法。
根据本说明书公开的第七方面,提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时,实现本公开实施例的第一方面提供的方法。
根据本说明书公开的第八方面,提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时,实现本公开实施例的第二方面提供的方法。
根据本说明书公开的第九方面,提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时,实现本公开实施例的第三方面提供的方法。
本公开实施例提供的对安全容器的健康检测方法、电子设备以及介质,可以对运行在虚拟私有云中的安全容器进行健康检测。
通过以下参照附图对本说明书的示例性实施例的详细描述,本说明书的实施例的特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本说明书的实施例,并且连同其说明一起用于解释本说明书实施例的原理。
图1是传统安全容器技术的示意图;
图2是安全容器技术的示意图;
图3是现有技术中宿主机无法进行安全容器健康检测的示意图;
图4是本公开实施例提供的对安全容器的健康检测方法的流程图;
图5是本公开实施例提供的对安全容器的健康检测方法的流程图;
图6是本公开实施例提供的对安全容器的健康检测方法的示意图;
图7是本公开实施例提供的对安全容器的健康检测方法的流程图;
图8是本公开实施例提供的对安全容器的健康检测方法的流程图。
具体实施方式
现在将参照附图来详细描述本说明书的各种示例性实施例。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本说明书实施例及其应用或使用的任何限制。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
名词解释:
VPC,全称为Virtual Private Cloud,中文通常翻译为虚拟私有网络,也有翻译为虚拟私有云,是通过网络虚拟化技术定义在公有云上的逻辑隔离的网络空间,是属于用户的专有网络。
OCI,全称为Open Container Initiative,是一种开放容器标准,定义了容器运行时和镜像的规范。
Docker,是一种应用容器引擎,可以打包应用以及发布到一个可移植的镜像中,然后发布到Linux或Windows机器上。
Kubernetes,是一种容器编排引擎,可以用于管理云平台中多个主机上的容器化的应用,提供了容器的部署、规划、更新、维护机制。
Kubelet组件,是一种容器生命周期管理组件。
<对安全容器的健康检测方法实施例>
在容器健康检测功能中,运行在宿主机上的管理组件发起容器健康检测。以Kubernetes容器***为例,在Kubernetes容器***中,容器健康检测由运行在宿主机上的Kubelet组件实现。也就是说,健康检测的发起方为Kubelet组件,源地址是宿主机的IP地址。健康检测的目标是容器,目的地址由容器地址和容器的端口组成。
TCP端口健康检测的原理是,对于提供TCP服务的容器,管理组件周期性地对该容器建立TCP连接,如果连接成功,则认为TCP端口健康,否则认为TCP端口不健康。
HTTP端口健康检测针对的是提供HTTP或者HTTPS服务的容器,管理组件周期性地对该容器发起HTTP/HTTPS请求,如果HTTP/HTTPS响应的返回码的范围在正常范围(一般是200~399)内,则认为HTTP端口健康,否则认为HTTP端口不健康。
安全容器是通过硬件虚拟化技术将容器封装在虚拟机中,提供了计算资源的隔离。通过网络虚拟化技术,可以将安全容器纳入虚拟私有网络中,以实现网络隔离。通过提供符合OCI标准的容器运行时组件,使得安全容器能够接入Docker容器生态***和Kubernetes容器生态***。
虚拟私有网络是属于用户的专有网络,而宿主机网络属于云服务商的管理网络,出于安全考虑,宿主机网络和虚拟私有网络之间需要进行隔离,不能直接通信。当安全容器设置在用户的虚拟私有网络中时,由于宿主机网络和用户的虚拟私有网络之间的隔离性,两者之间无法进行直接通信。参见图3所示的例子,宿主机的网段例如10.0.0.0/16,Kubelet组件所在宿主机的IP地址是10.0.0.1。安全容器设置在用户的虚拟私有网络中,用户可以对其虚拟私有网络的网段自行进行设置,该虚拟私有网络的网段例如可以是192.168.0.0/16,该安全容器的IP地址是192.168.0.1。可以看出,Kubelet组件和安全容器属于不同的互相隔离的网络,运行在宿主机上的Kubelet组件无法直接访问安全容器的HTTP端口和TCP端口,也就无法完成健康检测的功能。
本公开实施例提供了对安全容器的健康检测方法,可以适用于对运行在虚拟私有网络的安全容器进行健康探测。在本公开实施例中,云服务商预先获取到用户的安全授权,该安全授权允许云服务商为用户创建负载均衡器。
参见图4所示,本公开实施例提供了一种对安全容器的健康检测方法,可以适用于对运行在虚拟私有网络的安全容器进行健康探测。
该安全容器设置在用户的虚拟私有网络中并且封装在虚拟机内。
所述方法应用于所述安全容器的宿主机,包括步骤S104-S106。
S104、向设置在虚拟私有网络中的负载均衡器发送健康检测命令,以调用负载均衡器对安全容器进行健康检测。
在步骤S104之前,所述方法还可以包括步骤S102。步骤S102用于创建和配置负载均衡器,步骤S102可以包括步骤S1022-S1026。
S1022、在虚拟私有网络中创建负载均衡器。
S1024、为负载均衡器创建监听端口。
S1026、将安全容器的端口配置为监听端口的监听对象,以使得负载均衡器可以通过监听端口对安全容器的端口进行健康检测。
也就是说,将该安全容器设置为负载均衡器的后端服务器,建立负载均衡器的监听端口和安全容器的端口的对应关系,使得负载均衡器可以通过监听端口监听与该监听端口对应的安全容器的端口的健康状态。
在一个具体的例子中,所述健康检测命令中含有安全容器的标识和安全容器的端口的端口号。负载均衡器接收到健康检测命令后,从健康检测命令中获取安全容器标识和端口号,根据获取到的安全容器标识和端口号基于前述对应关系确定监听端口,通过该监听端口对该安全容器的该端口进行状态检测。
在一个具体的例子中,所述端口可以包括TCP端口和/或HTTP端口。S106、接收负载均衡器返回的关于所述安全容器的健康检测结果。
负载均衡器对安全容器进行健康检测后,将健康检测结果返回给宿主机。在一个具体的例子中,负载均衡器对安全容器进行健康检测,将安全容器发送的返回码作为健康检测结果返回给宿主机,宿主机根据返回码确定安全容器的端口是否健康。在一个具体的例子中,负载均衡器对安全容器进行健康检测,根据安全容器发送的返回码判断安全容器的端口是否健康,将判断结果作为健康检测结果返回给宿主机。
例如,健康检测的对象是安全容器的TCP端口,负载均衡器进行健康检测包括:负载均衡器请求建立与该安全容器的TCP连接。如果TCP连接成功,则判断TCP端口是健康的,如果TCP连接不成功,则判断TCP端口是不健康的。
例如,健康检测的对象是安全容器的HTTP端口,负载均衡器进行健康检测包括:对该安全容器发起HTTP/HTTPS get请求。如果安全容器的HTTP/HTTPS response返回码的范围在200~399之间,则判断安全容器的HTTP端口是健康的,否则判断安全容器的HTTP端口是不健康的。
参见图5所示,本公开实施例提供了一种对安全容器的健康检测方法,可以适用于对运行在虚拟私有网络的安全容器进行健康探测。
该安全容器设置在用户的虚拟私有网络中并且封装在虚拟机内。
所述方法应用于设置在虚拟私有网络中的负载均衡器,包括步骤S202-S204。
S202、接收安全容器的宿主机发送的健康检测命令。
在一个具体的例子中,所述健康检测命令中含有安全容器的标识和端口的端口号。所述端口可以包括TCP端口和/或HTTP端口。
S204、根据所述健康检测命令对安全容器进行健康检测。
在一个具体的例子中,步骤S204根据所述健康检测命令对安全容器进行健康检测,进一步可以包括:
S2042、从所述健康检测命令获取安全容器标识和端口号。
S2044、根据获取到的安全容器标识和端口号确定监听端口。
S2046、通过监听端口对安全容器的端口进行健康检测,得到安全容器的健康检测结果。
在一个具体的例子中,预先将该安全容器设置为负载均衡器的后端服务器,将安全容器的端口配置为监听端口的监听对象,以使得负载均衡器可以通过监听端口对安全容器的端口进行健康检测。也就是说,预先建立负载均衡器的监听端口和安全容器的端口的对应关系,使得负载均衡器可以通过监听端口监听与该监听端口对应的安全容器的端口的健康状态。
在一个具体的例子中,所述健康检测命令中含有安全容器的标识和安全容器的端口的端口号。负载均衡器接收到健康检测命令后,从健康检测命令中获取安全容器标识和端口号,根据获取到的安全容器标识和端口号基于前述对应关系确定监听端口,通过该监听端口对该安全容器的该端口进行状态检测。
S206、将安全容器的健康检测结果返回给宿主机。
负载均衡器对安全容器进行健康检测后,将健康检测结果返回给宿主机。在一个具体的例子中,负载均衡器对安全容器进行健康检测,将安全容器发送的返回码作为健康检测结果返回给宿主机,宿主机根据返回码确定安全容器的端口是否健康。在一个具体的例子中,负载均衡器对安全容器进行健康检测,根据安全容器发送的返回码判断安全容器的端口是否健康,将判断结果作为健康检测结果返回给宿主机。
例如,健康检测的对象是安全容器的TCP端口,负载均衡器进行健康检测包括:负载均衡器请求建立与该安全容器的TCP连接。如果TCP连接成功,则判断TCP端口是健康的,如果TCP连接不成功,则判断TCP端口是不健康的。
例如,健康检测的对象是安全容器的http端口,负载均衡器进行健康检测包括:对该安全容器发起HTTP/HTTPS get请求。如果安全容器的HTTP/HTTPS response返回码的范围在200~399之间,则判断安全容器的HTTP端口是健康的,否则判断安全容器的HTTP端口是不健康的。
下面参见图6所示,以Kubernetes安全容器***为例说明本公开实施例的对安全容器的健康检测方法。
运行在宿主机上的Kubelet组件是健康检测的发起方,所述方法包括步骤S302-S308。
S302、Kubelet组件在虚拟私有网络中创建负载均衡器,为负载均衡器创建监听端口,将安全容器的端口配置为监听端口的监听对象。
在该例子中,Kubelet组件将该安全容器设置为负载均衡器的后端服务器,为负载均衡器创建第一监听接口和第二监听接口,将安全容器的HTTP端口配置为第一监听端口的监听对象,将安全容器的TCP端口配置为第二监听端口的监听对象。
S304、Kubelet组件向该负载均衡器发送健康检测命令,所述健康检测命令中含有安全容器的标识和安全容器的端口的端口号。
S306、负载均衡器接收Kubelet组件发送的健康检测命令,从健康检测命令获取安全容器标识和端口号,根据获取到的安全容器标识和端口号确定监听端口,通过监听端口对安全容器的端口进行健康检测。
S308、负载均衡器将安全容器的健康检测结果返回给Kubelet组件。
本公开实施例提供了对安全容器的健康检测方法,可以适用于对运行在虚拟私有网络的安全容器进行健康探测。在本公开实施例中,云服务商预先获取到用户的安全授权,该安全授权允许云服务商为用户创建负载均衡器。
参见图7所示,本公开实施例提供了一种对安全容器的健康检测方法,可以适用于对运行在虚拟私有网络的安全容器进行健康探测。
该安全容器设置在用户的虚拟私有网络中并且封装在虚拟机内。
所述方法应用于所述安全容器的宿主机,包括步骤S404-S406。
S404、向设置在虚拟私有网络中的负载均衡器发送对于所述安全容器的健康查询请求。
S406、接收负载均衡器返回的关于所述安全容器的健康检测结果。
在该实施例中,负载均衡器以预设周期对安全容器进行健康检测并且存储安全容器的健康检测结果。如果负载均衡器的监听对象包括安全容器的多个端口,则每个周期的安全容器的健康检测结果均包括该安全容器的多个端口的健康检测结果。
负载均衡器在接收到安全容器的宿主机发送的健康查询请求时,根据健康查询请求查询出安全容器的最近一个周期的健康检测结果,将查询出的健康检测结果返回给宿主机。
例如,所述健康查询请求中含有安全容器的标识,负载均衡器接收到健康查询请求后,从健康查询请求获取标识,根据获取到的标识在已经存储的安全容器的健康检测结果中进行查询,从而在与健康查询请求中的标识一致的容器健康检测结果中获取最近一个周期的健康检测结果,将该最近一个周期的安全容器的健康检测结果返回给宿主机。
例如,健康查询请求中含有安全容器的标识和安全容器的端口的端口号,负载均衡器接收到健康查询请求后,从健康查询请求获取标识和端口号,根据获取到的标识和端口号在已经存储的安全容器的健康检测结果中进行查询,从而在与健康查询请求中的标识和端口号均一致的容器健康检测结果中获取最近一个周期的健康检测结果,将该最近一个周期的安全容器的健康检测结果返回给宿主机。
在一个具体的例子中,所述端口可以包括TCP端口和/或HTTP端口。
在步骤S404之前,所述方法还可以包括步骤S402。步骤S402用于创建和配置负载均衡器,可以包括步骤S4022-S4026。
S4022、在虚拟私有网络中创建负载均衡器。
S4024、为负载均衡器创建监听端口。
S4026、将安全容器的端口配置为监听端口的监听对象,以使得负载均衡器可以通过监听端口对安全容器的端口进行健康检测。
也就是说,将该安全容器设置为负载均衡器的后端服务器,建立负载均衡器的监听端口和安全容器的端口的对应关系,使得负载均衡器可以通过监听端口监听与该监听端口对应的安全容器端口的健康状态。
参见图8所示,本公开实施例提供了一种对安全容器的健康检测方法,可以适用于对运行在虚拟私有网络的安全容器进行健康探测。
该安全容器设置在用户的虚拟私有网络中并且封装在虚拟机内。
所述方法应用于设置在虚拟私有网络中的负载均衡器,包括步骤S502-S504。
S502、以预设周期对安全容器进行健康检测并且存储所述安全容器的健康检测结果。
在一个具体的例子中,所述健康查询请求中含有安全容器的标识和端口的端口号。所述端口可以包括TCP端口和/或HTTP端口。
在一个具体的例子中,预先将该安全容器设置为负载均衡器的后端服务器,将安全容器的端口配置为监听端口的监听对象,以使得负载均衡器可以通过监听端口对安全容器的端口进行健康检测。也就是说,预先建立负载均衡器的监听端口和安全容器的端口的对应关系,使得负载均衡器可以通过监听端口监听与该监听端口对应的安全容器的端口的健康状态。
在本公开实施例中,负载均衡器以预设周期对安全容器进行健康检测得到安全容器的健康检测结果,负载均衡器将安全容器的健康检测结果和对应的检测时间一并记录存储下来,以供步骤S504中进行查询。
S504、在接收到安全容器的宿主机发送的健康查询请求时,根据健康查询请求查询出安全容器的最近一个周期的健康检测结果,将查询出的健康检测结果返回给宿主机。
在该实施例中,负载均衡器以预设周期对安全容器进行健康检测并且存储安全容器的健康检测结果。如果负载均衡器的监听对象包括安全容器的多个端口,则每个周期的安全容器的健康检测结果均包括该安全容器的多个端口的健康检测结果。
负载均衡器在接收到安全容器的宿主机发送的健康查询请求时,根据健康查询请求查询出安全容器的最近一个周期的健康检测结果,将查询出的健康检测结果返回给宿主机。
例如,所述健康查询请求中含有安全容器的标识,负载均衡器接收到健康查询请求后,从健康查询请求获取标识,根据获取到的标识在已经存储的安全容器的健康检测结果中进行查询,从而在与健康查询请求中的标识一致的容器健康检测结果中获取最近一个周期的健康检测结果,将该最近一个周期的安全容器的健康检测结果返回给宿主机。
例如,健康查询请求中含有安全容器的标识和安全容器的端口的端口号,负载均衡器接收到健康查询请求后,从健康查询请求获取标识和端口号,根据获取到的标识和端口号在已经存储的安全容器的健康检测结果中进行查询,从而在与健康查询请求中的标识和端口号均一致的容器健康检测结果中获取最近一个周期的健康检测结果,将该最近一个周期的安全容器的健康检测结果返回给宿主机。
下面参见图6所示,以Kubernetes安全容器***为例说明本公开实施例的对安全容器的健康检测方法。
运行在宿主机上的Kubelet组件是健康检测的发起方,所述方法包括步骤S602-S608。
S602、Kubelet组件在虚拟私有网络中创建负载均衡器,为负载均衡器创建监听端口,将安全容器的端口配置为监听端口的监听对象。
在该例子中,Kubelet组件将该安全容器设置为负载均衡器的后端服务器,为负载均衡器创建第一监听接口和第二监听接口,将安全容器的HTTP端口配置为第一监听端口的监听对象,将安全容器的TCP端口配置为第二监听端口的监听对象。
S604、Kubelet组件向负载均衡器发送健康查询请求,健康查询请求中含有安全容器的标识和安全容器的端口的端口号。
S606、负载均衡器接收Kubelet组件发送的健康查询请求,从健康查询请求获取安全容器标识和端口号,根据获取到的安全容器标识和端口号查询出最近一个周期的健康检测结果。
S608、负载均衡器将查询出的健康检测的结果返回给Kubelet组件。
本公开实施例提供的对安全容器的健康检测方法,通过设置在虚拟私有网络中的负载均衡器对设置在虚拟私有网络中的安全容器进行健康状态检测,在宿主机和安全容器属于不同的互相隔离的网络的情况下,宿主机通过负载均衡器获取到安全容器的健康状态。
<电子设备实施例>
本公开实施例提供了一种电子设备,包括处理器和存储器,存储器中存储有计算机指令,计算机指令被处理器执行时,实现前述任一实施例提供的对安全容器的健康检测方法。
<计算机可读存储介质群>
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时,实现前述任一实施例提供的对安全容器的健康检测方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***、设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书的实施例可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本说明书实施例的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本说明书的实施例操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本说明书实施例的各个方面。
这里参照根据本说明书实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本说明书实施例的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本说明书的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本说明书的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (11)
1.一种对安全容器的健康检测方法,应用于安全容器的宿主机,所述方法包括:
向负载均衡器发送健康检测命令以调用所述负载均衡器对安全容器进行健康检测,或者,向所述负载均衡器发送对于所述安全容器的健康查询请求;
接收所述负载均衡器返回的关于所述安全容器的健康检测结果;
其中,所述安全容器设置在用户的虚拟私有网络中并且封装在虚拟机内,所述负载均衡器设置在所述虚拟私有网络中。
2.根据权利要求1所述的方法,在向负载均衡器发送所述健康检测命令或所述健康查询请求之前,所述方法还包括:
在所述虚拟私有网络中创建所述负载均衡器;
为所述负载均衡器创建监听端口;
将所述安全容器的端口配置为所述监听端口的监听对象,以使得所述负载均衡器通过所述监听端口对所述安全容器的端口进行健康检测。
3.根据权利要求1所述的方法,所述健康检测命令或者所述健康查询请求中含有所述安全容器的标识和所述安全容器的端口的端口号。
4.根据权利要求3所述的方法,所述端口包括TCP端口和/或HTTP端口。
5.一种对安全容器的健康检测方法,应用于负载均衡器,所述方法包括:
接收安全容器的宿主机发送的健康检测命令,根据所述健康检测命令对安全容器进行健康检测以得到所述安全容器的健康检测结果;
将所述安全容器的健康检测结果返回给所述宿主机;
其中,所述安全容器设置在用户的虚拟私有网络中并且封装在虚拟机内,所述负载均衡器设置在所述虚拟私有网络中。
6.根据权利要求5所述的方法,所述健康检测命令中含有所述安全容器的标识和所述安全容器的端口的端口号;
所述根据所述健康检测命令对安全容器进行健康检测,包括:
从所述健康检测命令获取所述标识和所述端口号;
根据所述标识和所述端口号确定监听端口;
通过所述监听端口对所述安全容器的端口进行健康检测。
7.一种对安全容器的健康检测方法,应用于负载均衡器,所述方法包括:
以预设周期对安全容器进行健康检测并且存储所述安全容器的健康检测结果;
在接收到所述安全容器的宿主机发送的健康查询请求时,根据所述健康查询请求查询出所述安全容器的最近一个周期的健康检测结果,将查询出的健康检测结果返回给所述宿主机。
8.根据权利要求5-7任一项所述的方法,所述端口包括TCP端口和/或HTTP端口。
9.一种电子设备,包括处理器和存储器,所述存储器中存储有计算机指令,所述计算机指令被所述处理器执行时,实现权利要求1-4中任一项所述的方法。
10.一种电子设备,包括处理器和存储器,所述存储器中存储有计算机指令,所述计算机指令被所述处理器执行时,实现权利要求5-8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时,实现权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010922660.0A CN112231043A (zh) | 2020-09-04 | 2020-09-04 | 对安全容器的健康检测方法、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010922660.0A CN112231043A (zh) | 2020-09-04 | 2020-09-04 | 对安全容器的健康检测方法、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112231043A true CN112231043A (zh) | 2021-01-15 |
Family
ID=74117020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010922660.0A Pending CN112231043A (zh) | 2020-09-04 | 2020-09-04 | 对安全容器的健康检测方法、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112231043A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987574A (zh) * | 2022-12-06 | 2023-04-18 | 中国联合网络通信集团有限公司 | 虚拟私有云安全检测方法、装置、设备及存储介质 |
-
2020
- 2020-09-04 CN CN202010922660.0A patent/CN112231043A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987574A (zh) * | 2022-12-06 | 2023-04-18 | 中国联合网络通信集团有限公司 | 虚拟私有云安全检测方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11546293B2 (en) | Multi-tenant aware dynamic host configuration protocol (DHCP) mechanism for cloud networking | |
US10841336B2 (en) | Selectively providing mutual transport layer security using alternative server names | |
CN111614738B (zh) | 基于Kubernetes集群的服务访问方法、装置、设备及存储介质 | |
US9628290B2 (en) | Traffic migration acceleration for overlay virtual environments | |
EP3324293B1 (en) | Application managed service instances | |
US9912613B2 (en) | Dynamic service orchestration within PaaS platforms | |
US11522905B2 (en) | Malicious virtual machine detection | |
US8463885B2 (en) | Systems and methods for generating management agent installations | |
US20170134278A1 (en) | Independent network interfaces for virtual network environments | |
US20160365094A1 (en) | Management of voice commands for devices in a cloud computing environment | |
US20200162416A1 (en) | Domain intercommunication in shared computing environments | |
US20130007095A1 (en) | Client server communication system | |
US10769277B2 (en) | Malicious application detection and prevention system for stream computing applications deployed in cloud computing environments | |
US11900131B2 (en) | Dynamic remediation actions in response to configuration checks in an information processing system | |
CN112231045A (zh) | 对安全容器的健康检测方法、电子设备及介质 | |
US9626214B2 (en) | Establishing redundant connections for virtual machine | |
CN112231043A (zh) | 对安全容器的健康检测方法、电子设备及介质 | |
US9760412B2 (en) | Client server communication system | |
CN112565225B (zh) | 用于数据发送的方法、装置、电子设备及可读存储介质 | |
US20210216343A1 (en) | Safely processing integrated flows of messages in a multi-tenant container | |
US11381665B2 (en) | Tracking client sessions in publish and subscribe systems using a shared repository | |
US20200106667A1 (en) | System and method for live migration for software agents | |
CN115291973A (zh) | 云上应用连接数据库的方法、装置、电子设备及存储介质 | |
US20220103550A1 (en) | Providing isolated containers for user request processing | |
CN112231044A (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 |