【技术实现步骤摘要】
一种快速检测容器运行状态的方法
本专利技术涉及计算机应用领域,尤其涉及Linux系统下一种快速检测容器运行状态的方法。
技术介绍
Linux系统中,容器(Container)可以提供轻量级的虚拟化,以便隔离进程和资源。通过将服务或者应用程序封装到容器中,Linux操作系统可以让应用程序就像在独立的机器上运行一样。当前容器技术得到了较广泛的应用。但是在一个分布式系统中,众多容器运行在不同的宿主机(为物理机或者虚拟机)上,如何判断每个容器的运行状态成为一种基本的需求。当前容器技术典型的方案是采用Docker服务。Docker提供了查看容器运行状态的方法,比如dockerps命令显示当前宿主机上容器是运行、还是退出。但是当容器很多时,某个采集器需要查询每个容器状态时,这时需要首先用ssh方式登录到该宿主机上,然后在查询该容器的运行状态,最后在把状态结果通过网络发送到采集器。这种方式效率很低,也是一种很耗资源的过程。当宿主机和容器个数较多时,采集过程会负载较高,采集间隔必须拉长才行。另外一种方法是在每台宿主机上运行一个守护进程。由该守护进程通过docker命令或者API, ...
【技术保护点】
1.一种快速检测容器运行状态的方法,其特征在于:包括采集器、共享配置库、宿主机和所述宿主机上的容器,所述采集器、所述共享配置库、所述宿主机通过交换机组成物理网络,所述采集器用于快速获得所述容器的运行状态;所述宿主机是用于承载所述容器运行的物理机或者虚拟机;所述共享配置库是可以被所述宿主机和所述采集器访问的数据库,具体检测方法如下:(1)在制作所述容器的容器镜像时,包含一个特定的监控进程,并在启动脚本中指定所述监控进程为前台进程,称为LFP前台进程;所述LFP前台进程只是侦听一个约定的TCP/IP端口,称为CSPort容器状态端口,所述CSPort容器状态端口是用户指定的所述 ...
【技术特征摘要】
1.一种快速检测容器运行状态的方法,其特征在于:包括采集器、共享配置库、宿主机和所述宿主机上的容器,所述采集器、所述共享配置库、所述宿主机通过交换机组成物理网络,所述采集器用于快速获得所述容器的运行状态;所述宿主机是用于承载所述容器运行的物理机或者虚拟机;所述共享配置库是可以被所述宿主机和所述采集器访问的数据库,具体检测方法如下:(1)在制作所述容器的容器镜像时,包含一个特定的监控进程,并在启动脚本中指定所述监控进程为前台进程,称为LFP前台进程;所述LFP前台进程只是侦听一个约定的TCP/IP端口,称为CSPort容器状态端口,所述CSPort容器状态端口是用户指定的所述容器内固定端口,所述容器不用所述CSPort容器状态端口提供实际具体业务服务;(2)任何访问所述CSPort容器状态端口的网络请求,所述LFP前台进程都返回一个约定的应答字符串,称为REPSTR;(3)把所述容器中的实际服务进程作为所述LFP前台进程的子进程,以后台进程的形式运行,称为SBP后台进程;(4)所述LFP前台进程定时检测所述SBP后台进程是否正在运行,如果所述SBP后台进程异常退出,则重新启动所述SBP后台进程;如果所述SBP后台进程不能够启动成功,那么所述LFP前台进程会自身结束运行,导致所述容器关闭并处于退出状态;(5)基于所述步骤(1)至所述步骤(4)创建的所述容器镜像,在所述宿主机上采用所述容器镜像创建某个具体容器实例时,可以随机指定所述宿主机上一个空闲端口为所述CSPort容器状...
【专利技术属性】
技术研发人员:金友兵,
申请(专利权)人:南京卓盛云信息科技有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。