[发明专利]应用于Kubernetes的容器编排方法和系统在审
| 申请号: | 202210394869.3 | 申请日: | 2022-04-14 |
| 公开(公告)号: | CN114816662A | 公开(公告)日: | 2022-07-29 |
| 发明(设计)人: | 孙伟祥;张振;赵明山 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455 |
| 代理公司: | 北京同钧律师事务所 16037 | 代理人: | 杜叶蕊;许怀远 |
| 地址: | 311121 浙江省杭州市余杭*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 应用于 kubernetes 容器 编排 方法 系统 | ||
一种应用于Kubernetes的容器编排方法和系统,该方法包括:Webhook组件拦截并扫描Pod创建请求,以确定目标容器中是否包括第一环境变量,第一环境变量用于指示目标容器为sidecar容器;在目标容器包括第一环境变量的情况下,对目标容器进行DownwardAPI形式化改造;API服务器在Downward API形式化改造完成后,向分布式数据库写入目标Pod的Pod配置信息,对sidecar容器进行Downward API形式化改造,以便于后续通过Downward API修改容器的启动命令,实现sidecar容器的退出机制,实现了容器退出方案的普适性。
技术领域
本申请涉及信息技术领域,尤其涉及一种应用于Kubernetes的容器编排方法和系统。
背景技术
Kubernetes是一种用于自动部署、扩展和管理容器化目标应用程序的开源系统。目前,Kubernetes已经成为全世界容器编排领域的通用标准,越来越多的类似人工智能(artificial intelligence,AI)计算的短任务也逐渐开始流行采用Kubernetes进行作业编排。
但是当用户将Kubernetes短任务编排用于生产环境,发现作为Kubernetes最小编排单元的Pod,在面对长短任务容器混合编排时会出现无法使用的情况。这是因为,当作为短任务容器的主容器结束计算退出后,作为长任务容器的sidecar容器还在继续运行,这不仅会导致Pod所占用的资源一直在空转,造成大量的计算、存储、网络等资源浪费,而且还会使得Kubernetes的短任务控制器认为任务未完成,对任务状态产生超时误判。
针对这一问题,现有的解决方案都只能针对特定的场景进行制定化处理,无法适应多变的容器编排场景。因此,亟需一种更灵活的容器退出的控制方案,以提高容器退出机制的普适性。
发明内容
本申请提供一种应用于Kubernetes的容器编排方法和系统,用以解决K8S系统中容器编排中容器退出机制普适性较低的问题。
第一方面,提供了一种应用于Kubernetes的容器编排方法,包括:API服务器获取短任务控制器发送的目标Pod的Pod创建请求;Webhook组件拦截所述Pod的创建请求,并扫描所述Pod创建请求中的目标容器的容器配置信息,以确定所述目标容器中是否包括预先定义的第一环境变量,所述第一环境变量用于指示所述目标容器为sidecar容器,所述目标容器为所述目标Pod中包括的任一容器;Webhook组件在所述目标容器包括所述第一环境变量的情况下,对所述目标容器进行Downward API形式化改造,所述Downward API形式化改造包括:将所述目标容器的启动命令中的内容复制到Pod annotations字段中,并将所述Pod annotations字段以Downward API的方式挂载到第二环境变量中;所述API服务器在所述Downward API形式化改造完成后,向分布式数据库写入所述目标Pod的Pod配置信息。
在一种可能的实现方式中,该方法还包括:sidecar控制器确定需要对所述目标容器执行容器退出机制;在所述目标Pod位于真实节点的情况下,所述sidecar控制器通过调用容器进行时接口CRI,将所述目标容器停止;或者,在所述目标Pod位于虚拟节点的情况下,所述sidecar控制器对所述目标容器执行Kubernetes的原地升级策略,其中,所述执行Kubernetes的原地升级策略包括:通过修改所述目标容器的镜像字段和所述Podannotations字段,以停止所述目标容器。
在一种可能的实现方式中,该方法还包括:所述sidecar控制器确定需要对所述目标容器执行容器退出机制,包括:事件监听器监听所述目标Pod中的容器的工作状态;所述事件监听器在所述目标Pod的容器重启策略为never的情况下,判断所述目标Pod中的主容器是否全部退出,其中,所述never是指在任何情况下均不重启容器;所述事件监听器在所述目标Pod中的主容器全部退出的情况下,触发所述sidecar控制器对所述目标容器执行容器退出机制。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210394869.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于隧道异型污水沟连续浇筑设备及使用方法
- 下一篇:一种智能滑雪镜





