The embodiment of this application discloses systems, methods and devices for providing container services. One specific implementation of the system includes: managing the server cluster and at least one working node. The system achieves fast mounting and de-mounting of storage devices in the working node. Its technical effects may include, but are not limited to, increased deployment flexibility and improved security.
【技术实现步骤摘要】
用于提供容器服务的系统、方法和装置
本申请实施例涉及计算机
,具体涉及用于提供容器服务的系统、方法和装置。
技术介绍
Kubernetes(简称K8S)中,Pod(Pod是Kubernetes创建或部署的最小/最简单的基本单位,一个Pod代表集群上正在运行的一个进程)可以通过数据卷(Volume)或者持久卷(PV,PersistentVolume)的方式使用磁盘。其中Volume通常随着Pod的销毁而销毁,不适用于有状态的服务。PV则很好地克服了这个问题,通常借助于外部存储,可以实现数据的持久化。然而,当前第三方存储系统接入k8s存在一定门槛,总体可以分为in-tree和out-tree两种方式。in-tree是指集成在kubernetes系统内部,与kubernetes是强耦合关系。当前,in-tree的方式主要是通过cloud-provider的形式。out-tree是指与kubenetes相互独立以插件的方式运行,与kubernetes是松耦合关系。比如,以flex-vloume为代表的out-tree方式是另一种实现磁盘挂载的方式,但是flex-vo ...
【技术保护点】
1.一种用于提供容器服务的系统,包括管理服务器集群和至少一个工作节点,其中,工作节点被配置成:响应于接收到磁盘创建/删除指令,创建/删除与所收到的磁盘创建/删除指令对应的网络磁盘;响应于接收到磁盘加载指令,将所述磁盘加载指令中的待加载磁盘标识所指示的网络磁盘加载到该工作节点;响应于接收到磁盘卸载指令,从该工作节点卸载所述磁盘卸载指令中的待卸载磁盘标识所指示的网络磁盘;响应于接收到磁盘挂载指令,将所述磁盘挂载指令中的待挂载磁盘标识所指示的网络磁盘挂载到该工作节点的指定路径;响应于接收到磁盘解挂指令,将该工作节点挂载的所述磁盘解挂指令中待解挂网络磁盘标识所指示的网络磁盘从该工作节点的指定路径解挂。
【技术特征摘要】
1.一种用于提供容器服务的系统,包括管理服务器集群和至少一个工作节点,其中,工作节点被配置成:响应于接收到磁盘创建/删除指令,创建/删除与所收到的磁盘创建/删除指令对应的网络磁盘;响应于接收到磁盘加载指令,将所述磁盘加载指令中的待加载磁盘标识所指示的网络磁盘加载到该工作节点;响应于接收到磁盘卸载指令,从该工作节点卸载所述磁盘卸载指令中的待卸载磁盘标识所指示的网络磁盘;响应于接收到磁盘挂载指令,将所述磁盘挂载指令中的待挂载磁盘标识所指示的网络磁盘挂载到该工作节点的指定路径;响应于接收到磁盘解挂指令,将该工作节点挂载的所述磁盘解挂指令中待解挂网络磁盘标识所指示的网络磁盘从该工作节点的指定路径解挂。2.根据权利要求1所述的系统,其中,所述管理服务器集群包括api-server组件,工作节点包括Kubelet组件、external-attacher组件、external-provisioner组件、provisioner-controller组件和存储插件,所述存储插件为运行在工作节点的容器编排系统中的容器。3.根据权利要求2所述的系统,其中,所述工作节点被配置成响应于接收到磁盘创建/删除指令,创建/删除与所收到的磁盘创建/删除指令对应的网络磁盘,包括:所述工作节点被配置成:响应于利用所述存储插件接收到磁盘创建/删除指令,利用所述存储插件创建/删除与所收到的磁盘创建/删除指令对应的网络磁盘;以及所述工作节点被配置成:响应于接收到磁盘加载指令,将所述磁盘加载指令中的待加载磁盘标识所指示的网络磁盘加载到该工作节点,包括:所述工作节点被配置成:响应于利用所述存储插件接收到磁盘加载指令,利用所述存储插件将所述磁盘加载指令中的待加载磁盘标识所指示的网络磁盘加载到该工作节点。4.根据权利要求3所述的系统,其中,所述工作节点被配置成:响应于接收到磁盘卸载指令,从该工作节点卸载所述磁盘卸载指令中的待卸载磁盘标识所指示的网络磁盘,包括:所述工作节点被配置成:响应于利用所述存储插件接收到磁盘卸载指令,利用所述存储插件从该工作节点卸载所述磁盘卸载指令中的待卸载磁盘标识所指示的网络磁盘;以及所述工作节点被配置成:响应于接收到磁盘挂载指令,将所述磁盘挂载指令中的待挂载磁盘标识所指示的网络磁盘挂载到该工作节点的指定路径,包括:所述工作节点被配置成:响应于利用所述存储插件接收到磁盘挂载指令,利用所述存储插件将所述磁盘挂载指令中的待挂载磁盘标识所指示的网络磁盘挂载到该工作节点的指定路径。5.根据权利要求4所述的系统,其中,所述工作节点被配置成:响应于接收到磁盘解挂指令,将该工作节点挂载的所述磁盘解挂指令中待解挂网络磁盘标识所指示的网络磁盘从该工作节点的指定路径解挂,包括:所述工作节点被配置成:响应于利用所述存储插件接收到磁盘解挂指令,利用所述存储插件将该工作节点挂载的所述磁盘解挂指令中待解挂网络磁盘标识所指示的网络磁盘从该工作节点的指定路径解挂。6.根据权利要求5所述的系统,其中,所述工作节点还被配置成:响应于接收到插件注册指令,所述插件注册指令包括待注册插件、插件标识和插件版本,利用所述存储插件将所述待注册插件按照所述插件标识和所述插件版本注册到所述管理服务器集群的api-server组件。7.根据权利要求6所述的系统,其中:所述管理服务器集群被配置成:响应于接收到容器创建指令,确定是否存在与所收到的容器创建指令对应的持久卷;响应于确定不存在,在所述至少一个工作节点中确定与所收到的容器创建指令对应的第一目标工作节点,以及生成与所收到的容器创建指令对应的持久卷创建指令;向所述第一目标工作节点发送所收到的容器创建指令和所生成的持久卷创建指令;以及响应于确定存在,将与所收到的容器创建指令匹配的持久卷确定为与所收到的容器创建指令对应的持久卷,向所收到的容器创建指令对应的持久卷所在的工作节点发送所收到的容器创建指令;工作节点还被配置成:响应于接收到所述管理服务器集群发送的容器创建指令,创建与所收到的容器创建指令对应的容器;以及响应于利用该工作节点的provisioner-controller组件监听到所述管理服务器集群发送的持久卷创建指令,生成与所收到的持久卷创建指令对应的磁盘创建指令、磁盘加载指令和磁盘挂载指令,利用该工作节点的external-attacher组件,调用所述存储插件执行所生成的磁盘创建指令、磁盘加载指令和磁盘挂载指令,以创建与收到的磁盘创建指令对应的网络磁盘,以及将所创建的网络磁盘加载以及挂载到该工作节点。8.根据权利要求7所述的系统,其中:所述管理服务器集群被配置成:响应于接收到容器删除指令,确定所收到的容器删除指令中的待删除容器所在的第二目标工作节点,以及生成与所述容器删除指令对应的持久卷删除指令;将所收到的容器删除指令和所生成的持久卷删除指令发送给所述第二目标工作节点;以及工作节点还被配置成:响应于接收到所述管理服务器集群发送的容器删除指令,删除与所收到的容器删除指令对应的容器;以及响应于利用该工作节点的provisioner-controller组件监听到所述管理服务器集群发送的持久卷删除指令,生成与所收到的持久卷删除指令对应的磁盘解挂指令和磁盘卸载指令,利用该工作节点的external-attacher组件,调用所述存储插件执行所生成的磁盘解挂指令和磁盘卸载指令,以将与所收到的持久卷删除指令对应的网络磁盘从该工作节点解挂和卸载;响应于确定删除与所收到的持久卷删除指令对应的网络磁盘,生成与所收到的持久卷删除指令对应的磁盘删除指令,利用该工作节点的external-attacher组件,调用所述存储插件执行所生成的磁盘删除指令,以删除与所收到的持久卷删除指令对应的网络磁盘。9.一种用于提供容器服务的方法,应用于用于提供容器服务的系统中的工作节点,其中,所述用于提供容器服务的系统包括管理服务器集群和至少一个工作节点,所述方法包括:响应于接收到磁盘创建/删除指令,创建/删除与所收到的磁盘创建/删除指令对应的网络磁盘;响应于接收到磁盘加载指令,将所述磁盘加载指令中的待加载磁盘标识所指示的网络磁盘加载到该工作节点;响应于接收到磁盘卸载指令,从该工作节点卸载所述磁盘卸载指令中的待卸载磁盘标识所指示的网络磁盘;响应于接收到磁盘挂载指令,将所述磁盘挂载指令中的待挂载磁盘标识所指示的网络磁盘挂载到该工作节点的指定路径;响应于接收到磁盘解挂指令,将该工作节点挂载的所述磁盘解挂指令中待解挂网络磁盘标识所指示的网络磁盘从该工作节点的指定路径解挂。10.根据权利要求9所述的方法,其中,所述管理服务器集群包括api-server组件,工作节点包括Kubelet组件、external-attacher组件、external-provisioner组件、provisioner-controller组件和存储插件,所述存储插件为运行在工作节点的容器编排系统中的容器。11.根据权利要求10所述的方法,其中,所述响应于接收到磁盘创建/删除指令,创建/删除与所收到的磁盘创建/删除指令对应的网络磁盘,包括:响应于利用所述存储插件接收到磁盘创建/删除指令,利用所述存储插件创建/删除与所收到的磁盘创建/删除指令对应的网络磁盘;以及所述响应于接收到磁盘加载指令,将所述磁盘加载指令中的待加载磁盘标识所指示的网络磁盘加载到该工作节点,包括:响应于利用所述存储插件接收到磁盘加载指令,利用所述存储插件将所述磁盘加载指令中的待加载磁盘标识所指示的网络磁盘加载到该工作节点。12.根据权利要求11所述的方法,其中,所述响应于接收到磁盘卸载指令,从该工作节点卸载所述磁盘卸载指令中的待卸...
【专利技术属性】
技术研发人员:蔡卫东,杨金锋,王辉,叶子超,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。