[发明专利]一种容器内代理执行方法有效
申请号: | 201910273129.2 | 申请日: | 2019-04-04 |
公开(公告)号: | CN110162381B | 公开(公告)日: | 2021-07-13 |
发明(设计)人: | 高斌;杨正;杜雄;程度;张福 | 申请(专利权)人: | 北京升鑫网络科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/448;G06F9/54 |
代理公司: | 北京中海智圣知识产权代理有限公司 11282 | 代理人: | 杨树芬 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 容器 代理 执行 方法 | ||
本发明公开了一种容器内代理执行方法,包括以下步骤:步骤1、建立一种容器内代理执行系统;步骤2、容器代理Worker运行在容器的命名空间namespace;步骤3、容器代理Worker支持动态切换命名空间namespace;步骤4、执行控制器Controller运行在服务器主机或云主机上并负责向外提供执行的接口Call()、管理执行任务、管理容器代理Worker;步骤5.1、容器内的任务执行以应用程序接口API为粒度;步骤6、容器代理Worker以独立进程方式存在;步骤7、容器代理Worker的数量及创建策略由执行控制器Controller决定,步骤8、工作时序;本发明的优越效果是具有轻量化和易部署的优点,且运行所需的资源占用少。
技术领域
本发明属于计算机技术领域,尤其涉及一种容器内代理执行方法。
背景技术
目前,以docker为代表的容器引擎技术越来越受欢迎,越来越多的厂商开始使用容器来部署业务。容器是一个独立的运行时环境。通过将软件应用和应用所依赖的库、配置、工具打包在一起,实现应用的快速部署。容器引擎技术基于linux内核提供的命名空间namespace特性来实现容器资源的隔离。命名空间namespace是对当前系统资源如进程、网络、文件系统的封装和隔离。主机进程和容器进程、不同容器的进程都处于不同的命名空间namespace,拥有各自独立的系统资源,无法互相访问。目前容器内的代理执行在市面上还没有成熟的产品和方案。只有像Kubernetes探针这样的容器监控类工具。Kubernetes探针包括存活探针和就绪探针是在容器内定期执行的小程序,用于探测容器的健康状态,并向Kubernetes汇报状态。Kubernetes的探针只用于专门的用途,并且要求每个容器都需要运行探针程序。Kubernetes的探针只有预定义好的功能,无法进行功能扩展和二次开发,不能满足服务器软件产品的各种需求。传统服务器软件产品安装运行在服务器主机或云主机上,由于linux系统的命名空间namespace隔离的原因,主机上的软件产品无法直接获取容器内的各种信息即读写容器内的文件系统,获取容器内网络连接信息。如果将现有服务器软件产品直接移植到容器内运行,因为一台主机往往同时运行着大量容器,每个容器内分别部署又会产生比较大的资源消耗;同时容器的动态调度特性也会造成软件产品的系统复杂无法管理。
发明内容
本发明的目的在于提供一种能够克服上述技术问题的容器内代理执行方法。
本发明所述方法包括以下步骤:
步骤1、建立一种容器内代理执行系统,所述系统包括执行控制器Controller、容器代理Worker;执行控制器Controller运行在服务器主机或云主机上,执行控制器Controller是所有任务执行的管理者;容器代理Worker运行在容器内,容器代理Worker负责实际任务的执行。
步骤2、容器代理Worker运行在容器的命名空间namespace,能够访问容器内的进程、网络、文件系统的系统资源;同时,容器代理Worker能和运行在主机上的执行控制器Controller通信,将获取到容器内信息返回给执行控制器Controller。
步骤3、容器代理Worker支持动态切换命名空间namespace,在同时运行多个容器的主机上配置一个或多个容器代理Worker;容器代理Worker由执行控制器Controller自动管理,执行控制器Controller向外提供调用接口。
步骤4、执行控制器Controller运行在服务器主机或云主机上并负责向外提供执行的接口Call()、管理执行任务、管理容器代理Worker;当软件业务需要获取某个容器内的信息时,向执行控制器Controller的执行接口Call()传递容器信息、任务信息,Call()执行完成后返回容器内的执行结果。
步骤5.1、容器内的任务执行以应用程序接口API为粒度,容器代理Worker提供应用程序接口API的实现;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京升鑫网络科技有限公司,未经北京升鑫网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910273129.2/2.html,转载请声明来源钻瓜专利网。