[发明专利]一种在kubernetes环境下为安卓容器挂载动态设备的方法及系统在审
申请号: | 202211249967.4 | 申请日: | 2022-10-12 |
公开(公告)号: | CN115562807A | 公开(公告)日: | 2023-01-03 |
发明(设计)人: | 王剑英;王伟珣 | 申请(专利权)人: | 湖南多行云计算机科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/445 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 谭武艺 |
地址: | 410000 湖南省长沙市*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 kubernetes 环境 容器 动态 设备 方法 系统 | ||
本发明公开了一种在kubernetes环境下为安卓容器挂载动态设备的方法及系统,本发明方法包括kubernetes节点收到创建容器的请求,根据请求中的设备参数调用设备插件以获取设备信息和环境变量信息,所述环境变量信息记录有设备路径信息;kubernetes节点调用容器;被调用的容器首先调用预启动钩子脚本,通过所述预启动钩子脚本根据容器的信息动态创建设备,且设备路径和名称使用调用设备插件获得的设备信息和环境变量信息中的设备路径信息;然后再启动运行容器。本发明通过使用设备插件+容器钩子方式,能够在kubernetes环境下使用非特权模式为安卓容器实现挂载动态设备。
技术领域
本发明涉及云手机技术,具体涉及一种在kubernetes(简称K8s,一种开源的容器集群管理系统)环境下为安卓容器挂载动态设备的方法及系统。
背景技术
“云手机”是依托Linux,Android系统和Kubernetes容器云和ARM容器虚拟化的技术,最终为用户/客户在ARM安卓云端提供的一个安卓系统实例(操作系统)。用户/客户可以通过视频流显示的方式,远程实时操控一台或多台云手机,最终实现安卓原生APP及手游的云端运行使用。如图1所示,“云手机”使用docker(一个开源的应用容器引擎)安卓容器方式运行在宿主机服务器(kubernetes节点)上,多个docker容器使用kubernetes进行编排调度。如图2所示,docker的安卓容器需要挂载宿主机的card(显卡)、gpu、binder、input等设备才能支持Android系统在容器内正常运行。其中,card(显卡)、gpu设备用于用户安卓系统渲染图形界面,binder设备用于安卓系统进程通信,input设备用于安卓系统接收输入信号如触屏、按键。
目前kubernetes挂载设备的方案有两种:使用特权模式挂载宿主机设备目录。特权模式下容器被授权访问宿主上所有设备,容器几乎享有宿主上运行的进程的所有访问权限,存在逃逸的严重安全风险,这种方式一般不推荐使用。使用device plugin的方式,这种方式不需要特权模式。Device plugin模式只需要实现kubernetes提供的设备API接口,可以用它来将系统硬件资源发布到Kubernetes。供应商可以实现设备插件,而不必修改Kubernetes本身的代码,就可以实现支持各种设备的扩展。这种模式在创建容器时kubernetes根据容器中设备定义参数通过API接口向device plugin申请设备,deviceplugin返回设备信息。但是kubernetes的原来的设备插件API接口只是包含的请求设备的数量,并没有包含容器其他的相关信息,那么对于需要根据容器中其他信息才能动态创建的设备就无法进行创建。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,考虑目前非特权模式下kubernetes官方只支持使用设备插件(device plugin)的方式挂载设备,但是实际应用中又要根据容器镜像中其他信息动态创建的设备,本发明提供一种在kubernetes环境下为安卓容器挂载动态设备的方法及系统,本发明通过使用设备插件(device plugin)+容器钩子(docker hook)方式,能够在kubernetes环境下使用非特权模式为安卓容器实现挂载动态设备。
为了解决上述技术问题,本发明采用的技术方案为:
一种在kubernetes环境下为安卓容器挂载动态设备的方法,包括:
1)kubernetes节点收到创建容器的请求;
2)kubernetes节点根据请求中的设备参数调用设备插件以获取设备信息和环境变量信息,所述环境变量信息记录有设备路径信息;
3)kubernetes节点调用容器;
4)被调用的容器首先调用预启动钩子脚本,通过所述预启动钩子脚本根据容器的信息动态创建设备,且设备路径和名称使用调用设备插件获得的设备信息和环境变量信息中的设备路径信息;然后再启动运行容器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南多行云计算机科技有限公司,未经湖南多行云计算机科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211249967.4/2.html,转载请声明来源钻瓜专利网。