【技术实现步骤摘要】
一种Kubernetes Overlay IP地址管理方法
[0001]本申请涉及一种Kubernetes Overlay IP地址管理方法,属于通信
技术介绍
[0002]Kubernetes是一个开源的容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。Kubernetes只要提供一个标准的接口,就能为同样满足该协议的所有容器平台提供网络功能。而容器网络接口(Container Network Interface,CNI)正是这样的一个标准接口协议。
[0003]目前主流的CNI对IP地址的管理主要是通过维护一个当前节点的网段,每次对pod分配IP时优先分配本节点网段的IP,如果本节点IP不够会从其他节点的网段中获取IP。释放IP地址时,会根据pod的信息比如网络名和容器ID查询对应的网络块,如果块不存在,则认为已经被释放;则直接释放网络块对应的IP,然后更新对应的IP池。
[0004]然而,目前对IP池的管理不是很成熟,不同节点之间IP地址的分配效率较低。
【专利技术 ...
【技术保护点】
【技术特征摘要】
1.一种Kubernetes Overlay IP地址管理方法,其特征在于,用于Kubernetes集群中的节点中,所述节点中设置有至少一个subCIDR,所述subCIDR为负责分配IP地址的对象;所述方法包括:获取所述Kubernetes集群的网络信息,所述网络信息包括所述Kubernetes集群中所有的可用IP地址、可用网络和所有已使用IP地址;基于所述网络信息初始化Overlay网络,并获取所有的subCIDR;确定所述节点的subCIDR是否已分配CIDR块;若未分配CIDR块,则为所述subCIDR分配CIDR块;在接收到IP分配请求时,从所述节点的subCIDR中分配IP地址,所述IP分配请求用于请求为Pod分配IP地址。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过go协程每隔第一预设时长同步第一缓存,所述第一缓存中存储有初始化Overlay网络后得到的可用网络与CIDR之间的对应关系。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过go协程每隔第二预设时长同步第二缓存,所述第二缓存中存储有可用网络的网络状态、subCIDR的CIDR状态和所述subCIDR中IP地址的使用状态。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过go协程确定所述节点是否存在所述subCIDR;若不存在所述subCIDR,则通过go协程创建所述subCIDR。5.根据权利要求4所述的方法,其特征在于,所述通过go协程确定所述节点是否存在所述subCIDR之后,还包括:若存在所述subCIDR,则通过go协程确定所述subCIDR中是否存在可用IP地址;若不存在可用IP地址,则通过go协程创建所述subCIDR。6.根据权利要求1所述的方法,其特征在于,所述在接收到IP分配请求时,从所述节点的subCIDR中分配IP地址,包括:通过Kubelet向CNI发送所...
【专利技术属性】
技术研发人员:花磊,刘学聪,梁兵,崔骥,赵安全,王亮,
申请(专利权)人:苏州博纳讯动软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。