【技术实现步骤摘要】
一种集群静态IP地址的分配系统及分配方法
[0001]本专利技术涉及云计算
,涉及一种集群静态IP地址分配系统及分配方法,更具体地说,涉及一种Kubernetes集群静态IP地址分配系统及分配方法。
技术介绍
[0002]在云计算领域,容器技术正方兴未艾。Kubernetes(后文使用简称k8s)作为容器编排技术的佼佼者和典型代表,已经被用户和云厂商广泛接受和使用,也逐渐成为容器编排
中事实上的行业标准。在k8s上运行的应用根据其特点的不同被抽象成不同的工作负载类型,常见的包括Pod、Deployment、StatefulSet、Job等,其中,Pod是最基础的工作负载,它是k8s能够管理的最小部署单元,其他类型的工作负载都是基于它实现的。在k8s中,包括IP(Internet Protocol,网际互连协议)地址分配在内的Pod网络的配置和管理是通过使用遵守容器CNI规范的插件实现的。在IP地址管理问题上,常见的CNI插件都是每次在Pod创建时从地址池中获取一个可用IP地址,然后在Pod销毁时把IP地址归还到地 ...
【技术保护点】
【技术特征摘要】
1.一种集群静态IP地址分配系统,其特征在于,所述系统包括:K8s API组件和K8s集群中已安装CNI插件的节点;所述K8s API组件,用于响应工作负载创建指令,依次创建静态IP对象实例和工作负载实例,并将所述工作负载实例对应的Pod调度至目标节点上,所述静态IP对象实例与所述工作负载实例是相关联的;响应工作负载删除指令,将所述工作负载实例对应的Pod调度至所述目标节点上,并保留所述静态IP对象实例;响应工作负载重建指令,重新创建所述工作负载实例,并将所述工作负载实例对应的Pod调度至所述目标节点上;所述目标节点,用于若被调度的Pod是响应所述工作负载创建指令时所调度的,从所述目标节点相应的地址池中分配静态IP地址给被调度的Pod,并将被调度的Pod所对应静态IP地址的分配信息记录至所述静态IP对象实例中,所述分配信息用于表征所述目标节点对被调度的Pod分配静态IP地址的结果;若被调度的Pod是响应所述工作负载删除指令时所调度的,销毁被调度的Pod,保留被调度的Pod的静态IP地址,并更新所述静态IP对象实例中被调度的Pod所对应静态IP地址的分配信息;若被调度的Pod是响应所述工作负载重建指令时所调度的,根据所述静态IP对象实例中被调度的Pod所对应静态IP地址的分配信息分配静态IP地址给被调度的Pod,并更新所述静态IP对象实例中被调度的Pod所对应静态IP地址的分配信息。2.根据权利要求1所述的系统,其特征在于,所述系统还包括:静态IP控制器;所述K8s API组件,还用于向所述静态IP控制器发送第一调用指令,并接收所述静态IP控制器所返回的第一校验结果;若所述第一校验结果表征所述静态IP对象实例具有合法性,执行所述将所述工作负载实例对应的Pod调度至所述目标节点上;所述静态IP控制器,用于响应所述第一调用指令,获取并添加所述工作负载实例对应的调度信息,校验所述静态IP对象实例是否具有合法性,并将得到的第一校验结果返回给所述K8s API组件。3.根据权利要求2所述的方法,其特征在于,所述静态IP控制器获取并添加所述工作负载实例对应的调度信息的过程,包括:检测所述静态IP对象实例中的调度信息,所述调度信息包括表征指定所述工作负载实例所在节点的第一调度信息、或者表征指定所述工作负载实例可调度的节点标签的第二调度信息;若检测到所述第一调度信息/所述第二调度信息,将所述第一调度信息/所述第二调度信息添加到所述工作负载实例的调度策略中,以使所述K8s API组件按照所述调度策略执行所述将所述工作负载实例对应的Pod调度至所述目标节点上。4.根据权利要求2所述的系统,其特征在于,所述K8s API组件,还用于:响应静态IP对象删除指令,向所述静态IP控制器发送第二调用指令;接收所述静态IP控制器所返回的静态IP释放结果;若所述静态IP释放结果表征所述静态IP对象实例中全部静态IP地址已被释放,删除所述静态IP对象实例;所述静态IP控制器,还用于响应所述第二调用指令,校验所述静态IP对象实例是否具有合法性,得到第二校验结果;若所述第二校验结果表征所述静态IP对象实例具有合法性,将所述静态IP对象实例中的静态IP地址释放到所属的地址池中,并将得到的静态IP释放结果返回给所述K8s API组件。
5.根据权利要求4...
【专利技术属性】
技术研发人员:于文超,
申请(专利权)人:北京奇艺世纪科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。