CN112231044A - 对安全容器的健康检测方法、电子设备及介质 - Google Patents

对安全容器的健康检测方法、电子设备及介质 Download PDF

Info

Publication number
CN112231044A
CN112231044A CN202010923874.XA CN202010923874A CN112231044A CN 112231044 A CN112231044 A CN 112231044A CN 202010923874 A CN202010923874 A CN 202010923874A CN 112231044 A CN112231044 A CN 112231044A
Authority
CN
China
Prior art keywords
container
intranet
health detection
elastic
detection request
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
CN202010923874.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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202010923874.XA priority Critical patent/CN112231044A/zh
Publication of CN112231044A publication Critical patent/CN112231044A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/45587Isolation or security of virtual machine instances
    • 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/45591Monitoring or debugging support
    • 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/45595Network 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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本说明书实施例公开了对安全容器的健康检测方法、电子设备以及介质。所述方法包括:获取目的地址,所述目标地址包括与安全容器绑定的内网弹性IP和所述安全容器的待检测端口的端口号;向所述目的地址发送健康检测请求;接收所述安全容器对所述健康检测请求的响应结果;根据所述响应结果确定所述安全容器的待检测端口的健康状态,其中,所述安全容器设置在用户的虚拟私有云中并且封装在虚拟机内,所述内网弹性IP被预先写入在所述安全容器的配置文件中,所述内网弹性IP属于云服务商的内网。

Description

对安全容器的健康检测方法、电子设备及介质
技术领域
本公开涉及云技术,更具体地,涉及对安全容器的健康检测方法、电子设备以及介质。
背景技术
容器技术是一种轻量级的虚拟化方式,将应用与必要的执行环境打包成容器镜像,使得应用程序可以直接在宿主机中相对独立地运行。参见图1所示,在传统的容器技术中,容器直接运行在宿主机上(容器运行起来为容器进程),可以使用命名空间(Namespace)等技术进行隔离,容器之间仍然共享宿主机的操作***内核,隔离性和安全性较弱。参见图2所示,安全容器技术是把容器放在一个轻量级虚拟机(lightweight Virtual Machine)中,使用硬件虚拟化等技术提供隔离,可以提升容器和宿主机的安全性。
云服务商提供的公有云服务中,虚拟私有网络(也称之为Virtual PrivateCloud,虚拟私有云)是通过网络虚拟化技术,定义在公有云上的逻辑隔离的网络空间,是属于用户的专有网络。
容器健康探测是容器生态的重要功能,可以由运行在宿主机上的管理组件向容器发起容器安全探测。当安全容器设置在私有网络中时,由于宿主机网络和私有网络之间的隔离性,宿主机无法访问安全容器的端口,导致容器健康探测无法正常进行。
因此,有必要提供一种容器健康探测方案,可以适用于对运行在虚拟私有网络的容器进行健康探测。
发明内容
本公开提供对安全容器的健康检测方法、电子设备以及介质,可以适用于对运行在虚拟私有网络的容器进行健康探测。
根据本公开实施例的第一方面,提供了一种对安全容器的健康检测方法,应用于安全容器的宿主机,所述方法包括:
获取目的地址,所述目标地址包括与安全容器绑定的内网弹性IP和所述安全容器的待检测端口的端口号;
向所述目的地址发送健康检测请求;
接收所述安全容器对所述健康检测请求的响应结果;
根据所述响应结果确定所述安全容器的待检测端口的健康状态;
其中,所述安全容器设置在用户的虚拟私有云中并且封装在虚拟机内,所述内网弹性IP被预先写入在所述安全容器的配置文件中,所述内网弹性IP属于云服务商的内网。
可选地,在根据所述响应结果确定所述安全容器的待检测端口的健康状态之后,所述方法还包括:
从所述安全容器的配置文件中删除所述内网弹性IP。
可选地,所述待检测端口包括TCP端口和/或HTTP端口。
根据本公开实施例的第二方面,提供了一种对安全容器的健康检测方法,应用于网关组件,所述网关组件设置在云服务商的内网中,所述方法包括:
接收安全容器的宿主机发送的健康检测请求,所述健康检测请求的目的地址包括内网弹性IP和安全容器的待检测端口的端口号;
确定与所述内网弹性IP绑定的安全容器的标识;
根据所述安全容器的标识,将所述健康检测请求转发给所述安全容器;
接收所述安全容器对所述健康检测请求的响应结果;
将所述响应结果转发给所述宿主机;
其中,所述安全容器设置在用户的虚拟私有云中并且封装在虚拟机内,所述内网弹性IP属于云服务商的内网。
可选地,所述根据所述安全容器的标识,将所述健康检测请求转发给所述安全容器,包括:
将与所述安全容器的标识对应的宿主机确定为目标宿主机;
将所述健康检测请求发送给所述目标宿主机的虚拟交换机以通过所述虚拟交换机将所述健康检测请求发送给所述安全容器;
所述接收所述安全容器对所述健康检测请求的响应结果,包括:
接收所述虚拟交换机返回的所述安全容器对所述健康检测请求的响应结果。
可选地,在接收宿主机发送的健康检测请求之前,所述方法还包括:预先建立所述安全容器和所述内网弹性IP的绑定关系。
可选地,在将所述响应结果转发给所述宿主机之后,所述方法还包括:解除所述安全容器和所述内网弹性IP的绑定关系.
可选地,所述待检测端口包括TCP端口和/或HTTP端口。
根据本公开实施例的第三方面,提供了一种电子设备,包括处理器和存储器,所述存储器中存储有计算机指令,所述计算机指令被所述处理器执行时,实现本公开实施例的第一方面提供的方法。
根据本说明书公开的第四方面,提供了一种电子设备,包括处理器和存储器,所述存储器中存储有计算机指令,所述计算机指令被所述处理器执行时,实现本公开实施例的第二方面提供的方法。
根据本说明书公开的第五方面,提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时,实现本公开实施例的第一方面提供的方法。
根据本说明书公开的第六方面,提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时,实现本公开实施例的第二方面提供的方法。
本公开实施例提供的对安全容器的健康检测方法、电子设备以及介质,可以对运行在虚拟私有云中的容器进行健康检测。
通过以下参照附图对本说明书的示例性实施例的详细描述,本说明书的实施例的特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本说明书的实施例,并且连同其说明一起用于解释本说明书实施例的原理。
图1是传统容器技术的示意图;
图2是安全容器技术的示意图;
图3是宿主机无法进行容器健康检测的示意图;
图4是本公开实施例提供的对安全容器的健康检测方法的流程图;
图5是本公开实施例提供的对安全容器的健康检测方法的流程图;
图6是本公开实施例提供的对安全容器的健康检测方法的示意图。
具体实施方式
现在将参照附图来详细描述本说明书的各种示例性实施例。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本说明书实施例及其应用或使用的任何限制。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
名词解释:
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-S108。
S104、获取目的地址,该目标地址含有与安全容器绑定的内网弹性IP和该安全容器的待检测端口的端口号。
S106、向目的地址发送健康检测请求。
即,安全容器的宿主机以与安全容器绑定的内网弹性IP和待检测端口为目的地址,发送健康检测请求。
S108、接收安全容器对健康检测请求的响应结果。
S110、根据响应结果确定安全容器的待检测端口的健康状态。
所述安全容器设置在用户的虚拟私有云中并且封装在虚拟机内。所述内网弹性IP被预先写入在所述安全容器的配置文件中,所述内网弹性IP属于云服务商的内网。所述安全容器的宿主机和所述内网弹性IP同属于云服务商的内网,两者之间可以进行通信。
所述待检测端口包括TCP端口和/或HTTP端口。
例如,健康检测的对象是安全容器的TCP端口,健康检测请求用于建立宿主机与安全容器的TCP连接。根据安全容器对健康检测请求的响应结果可以确定宿主机与安全容器之间的TCP连接是否成功。如果TCP连接成功,判断该TCP端口是健康的,如果TCP连接不成功,判断该TCP端口是不健康的。
例如,健康检测的对象是安全容器的HTTP端口,健康检测请求为HTTP/HTTPS get请求。如果安全容器的HTTP/HTTPS response返回码的范围在200~399之间,则判断安全容器的HTTP端口是健康的,否则判断安全容器的HTTP端口是不健康的。
在步骤S104之前,还可以包括步骤S102。
S102、在安全容器的配置文件中写入内网弹性IP。
例如,宿主机可以向IP地址管理***发送预设的第一指令,所述第一指令中包含所述安全容器的标识。IP地址管理***接收到第一指令后,为该安全容器分配一个空闲的内网弹性IP,建立该安全容器的标识和该内网弹性IP的绑定关系,将绑定关系存储在数据库中,并且将该内网弹性IP写入到该安全容器的配置文件中。
在步骤S110之后,还可以包括步骤S112。
S112、从安全容器的配置文件中删除内网弹性IP。
例如,宿主机可以向IP地址管理***发送预设的第二指令,所述第二指令中包含所述安全容器的标识。IP地址管理***接收到第二指令后,将原本分配给该安全容器的内网弹性IP释放掉,也就是从数据库中删除该安全容器的标识和该内网弹性IP的绑定关系,以及从该安全容器的配置文件中删除该内网弹性IP。
也就是说,可以在安全容器的健康状态检测完成后释放内网弹性IP,以减少对云服务商的网络资源的占用。
下面参见图6所示,以Kubernetes安全容器***为例说明本公开第一实施例的对安全容器的健康检测方法。
运行在宿主机上的Kubelet组件是健康检测的发起方,所述方法包括步骤S304-S308。
S304、Kubelet组件向目的地址发送健康检测请求,所述目标地址含有与安全容器绑定的内网弹性IP和该安全容器的待检测端口的端口号。
S306、安全容器接收到健康检测请求,对健康检测请求进行响应,以该内网弹性IP和该安全容器的待检测端口的端口号为源地址向Kubelet组件发送响应结果。
S308、Kubelet组件接收安全容器对健康检测请求的响应结果,根据响应结果确定安全容器的待检测端口的健康状态。
所述安全容器设置在用户的虚拟私有云中并且封装在虚拟机内,所述安全容器可以为安全容器。所述内网弹性IP被预先写入在所述安全容器的配置文件中,所述内网弹性IP属于云服务商的内网。所述安全容器的宿主机和所述内网弹性IP同属于云服务商的内网,例如,宿主机的IP地址为10.0.0.1,内网弹性IP为10.0.2.1,两者之间可以进行通信。
在步骤S304之前,还可以包括步骤S302。
S302、在安全容器的配置文件中写入内网弹性IP。
例如,Kubelet组件可以向IP地址管理***发送预设的第一指令,所述第一指令中包含所述安全容器的标识。IP地址管理***接收到第一指令后,为该安全容器分配一个空闲的内网弹性IP,建立该安全容器的标识和该内网弹性IP的绑定关系,将绑定关系存储在数据库中,并且将该内网弹性IP写入到该安全容器的配置文件中。
在步骤S308之后,还可以包括步骤S310。
S310、从安全容器的配置文件中删除内网弹性IP。
例如,Kubelet组件可以向IP地址管理***发送预设的第二指令,所述第二指令中包含所述安全容器的标识。IP地址管理***接收到第二指令后,将原本分配给该安全容器的内网弹性IP释放掉,也就是从数据库中删除该安全容器的标识和该内网弹性IP的绑定关系,以及从该安全容器的配置文件中删除该内网弹性IP。
也就是说,Kubelet组件可以在安全容器的健康状态检测完成后释放内网弹性IP,以减少对云服务商的网络资源的占用。
<第二实施例>
参见图5所示,本公开实施例提供了一种对安全容器的健康检测方法,可以适用于对用户的虚拟私有网络的安全容器进行健康探测。所述方法可以应用于网关组件,包括步骤S204-S212。
S204、接收安全容器的宿主机发送的健康检测请求,该健康检测请求的目的地址包括内网弹性IP和安全容器的待检测端口的端口号。
预先将内网弹性IP所属的网段挂载在该网关组件下,当宿主机发出的健康检测请求的目的地址属于该网段时,该网关组件会接收到该健康检测请求。
S206、确定与内网弹性IP绑定的安全容器的标识。
S208、根据所述安全容器的标识,将健康检测请求转发给所述安全容器。
S210、接收所述安全容器对健康检测请求的响应结果。
S212、将响应结果转发给所述宿主机,以供所述宿主机根据响应结果确定所述安全容器的待检测端口的健康状态。
所述安全容器设置在用户的虚拟私有云中并且封装在虚拟机内,所述安全容器可以为安全容器。所述内网弹性IP属于云服务商的内网。所述安全容器的宿主机和所述网关组件同属于云服务商的内网,两者之间可以进行通信。
在一个例子中,网关组件预先获得用户的授权,可以访问用户的虚拟私有网络,因此,在步骤S208中网关组件可以将健康检测请求转发给安全容器,在步骤S210中网关组件可以接收安全容器对健康检测请求的响应结果。
在另一个例子中,利用宿主机上的虚拟交换机(Virtual Switch)实现步骤S208和S210,具体如下:
步骤S208、根据所述安全容器的标识,将健康检测请求转发给所述安全容器,包括:将与所述安全容器的标识对应的宿主机确定为目标宿主机,将健康检测请求发送给目标宿主机的虚拟交换机以通过所述虚拟交换机将健康检测请求发送给所述安全容器。
步骤S210、接收所述安全容器对健康检测请求的响应结果,包括:接收所述虚拟交换机返回的所述安全容器对健康检测请求的响应结果。
目标宿主机是发送该健康检测请求的宿主机,也就是该被检测的安全容器的宿主机。目标宿主机上设置有虚拟交换机,由虚拟交换机提供路由转发的功能。虚拟交换机从网关组件处接收到健康检测请求后,根据安全容器的标识确定需要转发给哪个安全容器,对健康检测请求的数据包进行封包解包等处理,使得处理后的数据包可以抵达至该安全容器。同样的,虚拟交换机接收到该安全容器对健康检测请求的响应结果后,对该响应结果的数据包进行封包解包等处理,使得处理后的数据包可以抵达至该网关组件。
在该例子中,利用宿主机上的虚拟交换机可以被外部设备/外部组件访问并且提供路由转发功能的特性,在网关组件和安全容器之间进行数据转发,实现对安全容器健康状态的探测。
所述待检测端口包括TCP端口和/或HTTP端口。
例如,健康检测的对象是安全容器的TCP端口,健康检测请求用于建立宿主机与安全容器的TCP连接。根据安全容器对健康检测请求的响应结果可以确定宿主机与安全容器之间的TCP连接是否成功。如果TCP连接成功,判断该TCP端口是健康的,如果TCP连接不成功,判断该TCP端口是不健康的。
例如,健康检测的对象是安全容器的HTTP端口,健康检测请求为HTTP/HTTPS get请求。如果安全容器的HTTP/HTTPS response返回码的范围在200~399之间,则判断安全容器的HTTP端口是健康的,否则判断安全容器的HTTP端口是不健康的。
在步骤S204之前,还可以包括步骤S202。
S202、预先建立所述安全容器和所述内网弹性IP的绑定关系。
例如,宿主机可以向IP地址管理***发送预设的第一指令,所述第一指令中包含所述安全容器的标识。IP地址管理***接收到第一指令后,为该安全容器分配一个空闲的内网弹性IP,建立该安全容器的标识和该内网弹性IP的绑定关系,将绑定关系存储在数据库中。在步骤S206中,网关组件可以通过访问数据库,确定与内网弹性IP绑定的安全容器的标识。
在步骤S212之后,还可以包括步骤S214。
S214、解除所述安全容器和所述内网弹性IP的绑定关系。
例如,宿主机可以向IP地址管理***发送预设的第二指令,所述第二指令中包含所述安全容器的标识。IP地址管理***接收到第二指令后,将原本分配给该安全容器的内网弹性IP释放掉,也就是从数据库中删除该安全容器的标识和该内网弹性IP的绑定关系。
也就是说,可以在安全容器的健康状态检测完成后释放内网弹性IP,以减少对云服务商的网络资源的占用。
下面参见图6所示,以Kubernetes安全容器***为例说明本公开第二实施例的对安全容器的健康检测方法。
运行在宿主机上的Kubelet组件是健康检测的发起方,所述方法包括步骤S404-S412。
S404、Kubelet组件向目的地址发送健康检测请求,所述目标地址含有与安全容器绑定的内网弹性IP和该安全容器的待检测端口的端口号。
S406、网关组件接收到健康检测请求,确定与内网弹性IP绑定的安全容器的标识,根据所述安全容器的标识将健康检测请求转发给所述安全容器。
S408、所述安全容器接收到健康检测请求,对健康检测请求结果进行响应,发送响应结果。
S410、网关组件接收所述安全容器对健康检测请求的响应结果,将响应结果转发给Kubelet组件。
S412、Kubelet组件接收到响应结果,根据响应结果确定所述安全容器的待检测端口的健康状态。
所述安全容器设置在用户的虚拟私有云中并且封装在虚拟机内,所述安全容器可以为安全容器。所述内网弹性IP属于云服务商的内网。所述安全容器的宿主机和所述网关组件同属于云服务商的内网,两者之间可以进行通信。
可选地,网关组件根据所述安全容器的标识,将健康检测请求转发给所述安全容器,包括:将与所述安全容器的标识对应的宿主机确定为目标宿主机,将健康检测请求发送给目标宿主机的虚拟交换机以通过所述虚拟交换机将健康检测请求发送给所述安全容器。
可选地,网关组件接收所述安全容器对健康检测请求的响应结果,包括:接收所述虚拟交换机返回的所述安全容器对健康检测请求的响应结果。
在步骤S404之前,还可以包括步骤S402。
S402、预先建立所述安全容器和所述内网弹性IP的绑定关系。
例如,Kubelet组件可以向IP地址管理***发送预设的第一指令,所述第一指令中包含所述安全容器的标识。IP地址管理***接收到第一指令后,为该安全容器分配一个空闲的内网弹性IP,建立该安全容器的标识和该内网弹性IP的绑定关系,将绑定关系存储在数据库中。在步骤S206中,网关组件可以通过访问数据库,确定与内网弹性IP绑定的安全容器的标识。
在步骤S412之后,还可以包括步骤S414。
S414、解除所述安全容器和所述内网弹性IP的绑定关系。
例如,Kubelet组件可以向IP地址管理***发送预设的第二指令,所述第二指令中包含所述安全容器的标识。IP地址管理***接收到第二指令后,将原本分配给该安全容器的内网弹性IP释放掉,也就是从数据库中删除该安全容器的标识和该内网弹性IP的绑定关系。
也就是说,Kubelet组件可以在安全容器的健康状态检测完成后释放内网弹性IP,以减少对云服务商的网络资源的占用。
本公开实施例提供的对安全容器的健康检测方法,预先将安全容器与云服务商的内网弹性IP绑定,基于内网弹性IP对安全容器的健康状态进行检测。
本公开实施例提供的对安全容器的健康检测方法,可以在安全容器的健康状态检测完成后,释放内网弹性IP,以减少对网络资源的占用。
<电子设备实施例>
本公开实施例提供了一种电子设备,包括处理器和存储器,存储器中存储有计算机指令,计算机指令被处理器执行时,实现前述任一实施例提供的对安全容器的健康检测方法。
<计算机可读存储介质群>
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时,实现前述任一实施例提供的对安全容器的健康检测方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***、设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书的实施例可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本说明书实施例的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本说明书的实施例操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本说明书实施例的各个方面。
这里参照根据本说明书实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本说明书实施例的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本说明书的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本说明书的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (11)

1.一种对安全容器的健康检测方法,应用于安全容器的宿主机,所述方法包括:
获取目的地址,所述目标地址包括与安全容器绑定的内网弹性IP和所述安全容器的待检测端口的端口号;
向所述目的地址发送健康检测请求;
接收所述安全容器对所述健康检测请求的响应结果;
根据所述响应结果确定所述安全容器的待检测端口的健康状态;
其中,所述安全容器设置在用户的虚拟私有云中并且封装在虚拟机内,所述内网弹性IP被预先写入在所述安全容器的配置文件中,所述内网弹性IP属于云服务商的内网。
2.根据权利要求1所述的方法,在根据所述响应结果确定所述安全容器的待检测端口的健康状态之后,所述方法还包括:
从所述安全容器的配置文件中删除所述内网弹性IP。
3.根据权利要求1所述的方法,所述待检测端口包括TCP端口和/或HTTP端口。
4.一种对安全容器的健康检测方法,应用于网关组件,所述网关组件设置在云服务商的内网中,所述方法包括:
接收安全容器的宿主机发送的健康检测请求,所述健康检测请求的目的地址包括内网弹性IP和安全容器的待检测端口的端口号;
确定与所述内网弹性IP绑定的安全容器的标识;
根据所述安全容器的标识,将所述健康检测请求转发给所述安全容器;
接收所述安全容器对所述健康检测请求的响应结果;
将所述响应结果转发给所述宿主机;
其中,所述安全容器设置在用户的虚拟私有云中并且封装在虚拟机内,所述内网弹性IP属于云服务商的内网。
5.根据权利要求4所述的方法,所述根据所述安全容器的标识,将所述健康检测请求转发给所述安全容器,包括:
将与所述安全容器的标识对应的宿主机确定为目标宿主机;
将所述健康检测请求发送给所述目标宿主机的虚拟交换机以通过所述虚拟交换机将所述健康检测请求发送给所述安全容器;
所述接收所述安全容器对所述健康检测请求的响应结果,包括:
接收所述虚拟交换机返回的所述安全容器对所述健康检测请求的响应结果。
6.根据权利要求4所述的方法,在接收宿主机发送的健康检测请求之前,所述方法还包括:预先建立所述安全容器和所述内网弹性IP的绑定关系。
7.根据权利要求6所述的方法,在将所述响应结果转发给所述宿主机之后,所述方法还包括:解除所述安全容器和所述内网弹性IP的绑定关系。
8.根据权利要求4所述的方法,所述待检测端口包括TCP端口和/或HTTP端口。
9.一种电子设备,包括处理器和存储器,所述存储器中存储有计算机指令,所述计算机指令被所述处理器执行时,实现权利要求1-3中任一项所述的方法。
10.一种电子设备,包括处理器和存储器,所述存储器中存储有计算机指令,所述计算机指令被所述处理器执行时,实现权利要求4-8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时,实现权利要求1-8中任一项所述的方法。
CN202010923874.XA 2020-09-04 2020-09-04 对安全容器的健康检测方法、电子设备及介质 Pending CN112231044A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010923874.XA CN112231044A (zh) 2020-09-04 2020-09-04 对安全容器的健康检测方法、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010923874.XA CN112231044A (zh) 2020-09-04 2020-09-04 对安全容器的健康检测方法、电子设备及介质

Publications (1)

Publication Number Publication Date
CN112231044A true CN112231044A (zh) 2021-01-15

Family

ID=74115960

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010923874.XA Pending CN112231044A (zh) 2020-09-04 2020-09-04 对安全容器的健康检测方法、电子设备及介质

Country Status (1)

Country Link
CN (1) CN112231044A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566541A (zh) * 2017-08-03 2018-01-09 携程旅游信息技术(上海)有限公司 容器网络资源分配方法、***、存储介质和电子设备
CN108737215A (zh) * 2018-05-29 2018-11-02 郑州云海信息技术有限公司 一种云数据中心Kubernetes集群容器健康检查的方法和装置
CN108829384A (zh) * 2018-06-13 2018-11-16 平安科技(深圳)有限公司 容器的管理方法、装置、计算机设备及存储介质
CN109032760A (zh) * 2018-08-01 2018-12-18 北京百度网讯科技有限公司 用于部署应用的方法和装置
CN111066301A (zh) * 2018-01-26 2020-04-24 Nicira股份有限公司 在具有重叠ip地址块的虚拟私有云上的统一安全策略
CN111124604A (zh) * 2019-12-05 2020-05-08 北京金山云网络技术有限公司 分配容器组pod IP地址的方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566541A (zh) * 2017-08-03 2018-01-09 携程旅游信息技术(上海)有限公司 容器网络资源分配方法、***、存储介质和电子设备
CN111066301A (zh) * 2018-01-26 2020-04-24 Nicira股份有限公司 在具有重叠ip地址块的虚拟私有云上的统一安全策略
CN108737215A (zh) * 2018-05-29 2018-11-02 郑州云海信息技术有限公司 一种云数据中心Kubernetes集群容器健康检查的方法和装置
CN108829384A (zh) * 2018-06-13 2018-11-16 平安科技(深圳)有限公司 容器的管理方法、装置、计算机设备及存储介质
CN109032760A (zh) * 2018-08-01 2018-12-18 北京百度网讯科技有限公司 用于部署应用的方法和装置
CN111124604A (zh) * 2019-12-05 2020-05-08 北京金山云网络技术有限公司 分配容器组pod IP地址的方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US10356007B2 (en) Dynamic service orchestration within PAAS platforms
US10320674B2 (en) Independent network interfaces for virtual network environments
US9602307B2 (en) Tagging virtual overlay packets in a virtual networking system
US9584479B2 (en) Virtual firewall load balancer
US11044229B2 (en) Dynamically opening ports for trusted application processes hosted in containers
US20190141022A1 (en) On-premise and off-premise communication
US10904184B2 (en) Smart message delivery based on transaction processing status
US11032202B2 (en) Load balancing in data hosting systems
CN110276194B (zh) 信息处理方法、信息处理装置和电子设备
US10769277B2 (en) Malicious application detection and prevention system for stream computing applications deployed in cloud computing environments
CN109491725A (zh) 应用程序可交互多开方法和***、存储介质、电子设备
US11968248B2 (en) Content-based distribution and execution of analytics applications on distributed datasets
CN112231045A (zh) 对安全容器的健康检测方法、电子设备及介质
US11017084B2 (en) Detection of malicious code fragments via data-flow isolation
US20180083940A1 (en) System to resolve multiple identity crisis in indentity-as-a-service application environment
US9577841B2 (en) System and method for packet encapsulation wherein translation control entries (TCEs) may redirect DMA for software defined networks
US20210216343A1 (en) Safely processing integrated flows of messages in a multi-tenant container
CN112231043A (zh) 对安全容器的健康检测方法、电子设备及介质
CN112231044A (zh) 对安全容器的健康检测方法、电子设备及介质
CN114070637B (zh) 基于属性标签的访问控制方法、***、电子设备及存储介质
US11792289B2 (en) Live socket redirection
US11368459B2 (en) Providing isolated containers for user request processing
US20140258484A1 (en) Transparent message modification for diagnostics or testing
CN117499486A (zh) 数据处理方法及装置、电子设备、计算机可读存储介质
CN115098077A (zh) It应用接入平台的方法、平台及it应用

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