一种基于kubernetes的IP地址管理装置和方法制造方法及图纸

技术编号:35648108 阅读:12 留言:0更新日期:2022-11-19 16:42
本发明专利技术涉及容器化应用技术领域,提供一种基于kubernetes的IP地址管理装置和方法,本发明专利技术的装置包括:客户端,用于向IP地址管理系统申请未被使用的IP地址,通过指定应用的地址创建应用;IP地址管理系统,用于从地址池中分配对应数量的未被使用的IP地址给客户端,通过监听应用实例的变化对应用实例的IP地址进行管理。应用系统,用于根据应用副本数量创建对应的应用实例,并在应用实例中添加地址组信息。根据本发明专利技术示例性实施例的基于kubernetes的IP地址管理装置和方法,可以实现kubernetes平台下的应用IP地址管理,特别是应用多实例场景下的IP地址管理。下的IP地址管理。下的IP地址管理。

【技术实现步骤摘要】
一种基于kubernetes的IP地址管理装置和方法


[0001]本专利技术涉及容器化应用
,尤其涉及一种基于kubernetes的IP地址管理装置和方法。

技术介绍

[0002]随着企业上云,企业数字化转型趋势愈发深入人心,越来越多的企业选择将应用容器化后部署到kubernetes平台上。出于对现有资源复用的考虑,上云是一个持续的过程,在这个过程中客户传统IDC机房中的服务与云上kubernetes平台上容器化的服务共存。容器化后跑在kubernetes容器平台中,应用如何对外提供访问成为一个不得不面对的问题。Kubernetes中目前对于Service(Kubernete概念对应服务,为一组Pod容器的流量入口)提供了NodePort(Service的一种,使用集群宿主机端口对外提供服务),LoadBalancer和Ingress(Kubernetes的一种概念,用于在7层基于域名和URL做流量转发)这三种对外暴露的访问方式。其中LoadBalancer对底层平台有要求,一般只有大型公有云支持,对于私有云环境支持较差,且只支持4层。NodePort的方式会占用每个节点上的端口,对于集群规模大Service较多的情况如果都用NodePort暴露,本地的65535个端口会很快耗尽,同样也不适用于大量服务对外暴露的情况,NodePort只支持4层。Ingress是Kubernetes社区推荐的一种方案,支持L7(OSI模型第7层,应用层HTTP及HTTPS)负载,支持HTTP/HTTPS,支持对Host(域名),URL进行匹配,并转发。
[0003]在实际使用时,kubernetes中的服务暴露方案可以满足大多数客户的场景,不过当涉及到安全控制时,上述三种方式无法满足客户的需求。典型的如客户将数据库部署在传统IDC机房的高性能机器上,需要通过开通IP白名单的方式来授权云上的服务访问。此时由于kubernetes中容器化的应用每次更新或者异常驱逐后对应的Pod的IP都会发生变化,应用的Pod的IP地址无法固定,这个白名单策略很难实施,尤其对于金融行业的客户是一个很大的难题。
[0004]因此,如何提供一种kubernetes平台中应用IP地址管理方法,成为亟待解决的技术问题。

技术实现思路

[0005]有鉴于此,为了解决kubernetes中应用实例的IP地址无法固定的问题,本专利技术通过架构设计提供一种kubernetes中IP地址管理装置和方法,使kubernetes中的应用实例在发生状态变化后IP地址保持不变,更好地满足客户传统IDC机房中的服务与云上kubernetes平台上容器化的服务共存的场景要求。
[0006]一方面,本专利技术提供一种基于kubernetes的IP地址管理装置,包括:
[0007]客户端,用于向IP地址管理系统申请未被使用的IP地址,通过指定应用的地址创建应用;
[0008]IP地址管理系统,用于从地址池中分配对应数量的未被使用的IP地址给客户端,
通过监听应用实例的变化对应用实例的IP地址进行管理。
[0009]应用系统,用于根据应用副本数量创建对应的应用实例,并在应用实例中添加地址组信息。
[0010]进一步地,本专利技术基于kubernetes的IP地址管理装置中,客户端具体用于在IP地址管理系统中创建一个地址池,根据自身应用的实例数量向地址池申请对应数量的IP地址,根据申请获得的一个或多个未被使用的IP地址在IP地址管理系统中创建地址组,通过指定创建的地址组在应用系统中创建应用。
[0011]进一步地,本专利技术基于kubernetes的IP地址管理装置中,IP地址管理系统用于对需要启动、删除、更新、扩容和增容的应用实例的IP地址进行管理。
[0012]进一步地,本专利技术基于kubernetes的IP地址管理装置中中,IP地址管理系统用于对需要启动、删除、更新、扩容和增容的应用实例的IP地址进行管理,包括:
[0013]当监听到应用实例需要启动时,IP地址管理系统根据应用实例中的地址组信息找到对应的地址组,从所述对应的地址组中分配一个未被使用的IP地址给应用实例,将所述IP地址的状态标记为使用中;
[0014]当监听到应用实例需要删除时,IP地址管理系统获取并释放所述应用实例的IP地址,将所述IP地址的状态标记为未被使用;
[0015]当监听到应用实例需要更新时,IP地址管理系统根据应用实例中的地址组信息找到对应的地址组,如果所述对应的地址组中的IP地址数量等于应用实例的数量,则先删除老的应用实例再创建新的应用实例;如果所述对应的地址组中的IP数量大于应用实例的数量,则创建新的应用实例再删除老的应用实例;
[0016]当监听到应用实例需要扩容时,IP地址管理系统确认应用实例扩容后的应用实例数量,当应用实例扩容后的应用实例数量大于客户端在IP地址管理系统中申请的IP地址的数量,客户端向IP地址管理系统申请额外的IP地址,并将申请获得的额外的IP地址添加到扩容前的IP地址组中;
[0017]当监听到应用实例需要缩容时,在应用实例缩容后对对应的IP地址组同步进行缩容,使对应的IP地址组中的IP地址数等于缩容后应用实例的数量,将缩容释放的IP地址的状态标记为未被使用。
[0018]另一方面,本专利技术提供一种基于kubernetes的IP地址管理方法,包括:
[0019]步骤S1:客户端向IP地址管理系统申请未被使用的IP地址;
[0020]步骤S2:客户端通过指定应用的地址创建应用;
[0021]步骤S3:IP地址管理系统通过监听应用实例的变化对应用实例的IP地址进行管理。
[0022]进一步地,本专利技术基于kubernetes的IP地址管理方法中,步骤S1,包括:
[0023]步骤S11:客户端在IP地址管理系统中创建一个地址池,所述地址池中包含一组IP地址;
[0024]步骤S12:客户端根据自身应用的实例数量向地址池申请对应数量的IP地址;
[0025]步骤S13:IP地址管理系统从地址池中分配对应数量的未被使用的IP地址给客户端。
[0026]进一步地,本专利技术基于kubernetes的IP地址管理方法中,步骤S2,包括:
[0027]步骤S21:客户端根据申请获得的一个或多个未被使用的IP地址在IP地址管理系统中创建地址组;
[0028]步骤S22:客户端通过指定步骤S21创建的地址组在应用系统中创建应用;
[0029]步骤S23:应用系统根据应用副本数量创建对应的应用实例,并在应用实例中添加地址组信息。
[0030]进一步地,本专利技术基于kubernetes的IP地址管理方法中,步骤S3,包括:
[0031]当监听到应用实例需要启动时,IP地址管理系统根据应用实例中的地址组信息找到对应的地址组,从所述对应的地址组中分配一个未被使用的IP地址给应用实例,将所述IP地址的状态标记为使用中;...

【技术保护点】

【技术特征摘要】
1.一种基于kubernetes的IP地址管理装置,其特征在于,所述装置,包括:客户端,用于向IP地址管理系统申请未被使用的IP地址,通过指定应用的地址创建应用;IP地址管理系统,用于从地址池中分配对应数量的未被使用的IP地址给客户端,通过监听应用实例的变化对应用实例的IP地址进行管理。应用系统,用于根据应用副本数量创建对应的应用实例,并在应用实例中添加地址组信息。2.根据权利要求1所述的基于kubernetes的IP地址管理装置,其特征在于,所述客户端具体用于在IP地址管理系统中创建一个地址池,根据自身应用的实例数量向地址池申请对应数量的IP地址,根据申请获得的一个或多个未被使用的IP地址在IP地址管理系统中创建地址组,通过指定创建的地址组在应用系统中创建应用。3.根据权利要求1所述的基于kubernetes的IP地址管理装置,其特征在于,所述IP地址管理系统用于对需要启动、删除、更新、扩容和增容的应用实例的IP地址进行管理。4.根据权利要求1所述的基于kubernetes的IP地址管理装置,其特征在于,所述IP地址管理系统用于对需要启动、删除、更新、扩容和增容的应用实例的IP地址进行管理,包括:当监听到应用实例需要启动时,IP地址管理系统根据应用实例中的地址组信息找到对应的地址组,从所述对应的地址组中分配一个未被使用的IP地址给应用实例,将所述IP地址的状态标记为使用中;当监听到应用实例需要删除时,IP地址管理系统获取并释放所述应用实例的IP地址,将所述IP地址的状态标记为未被使用;当监听到应用实例需要更新时,IP地址管理系统根据应用实例中的地址组信息找到对应的地址组,如果所述对应的地址组中的IP地址数量等于应用实例的数量,则先删除老的应用实例再创建新的应用实例;如果所述对应的地址组中的IP数量大于应用实例的数量,则创建新的应用实例再删除老的应用实例;当监听到应用实例需要扩容时,IP地址管理系统确认应用实例扩容后的应用实例数量,当应用实例扩容后的应用实例数量大于客户端在IP地址管理系统中申请的IP地址的数量,客户端向IP地址管理系统申请额外的IP地址,并将申请获得的额外的IP地址添加到扩容前的IP地址组中;当监听到应用实例需要缩容时,在应用实例缩容后对对应的IP地址组同步进行缩容,使对应的IP地址组中的IP地址数等于缩容后应用实例的数量,将缩容释放的IP地址的状态标记为未被使用。5.一种基于权利要求1

4任一所述的装置的基于kubernetes的IP地址管理方法,其...

【专利技术属性】
技术研发人员:朱彦
申请(专利权)人:中电云数智科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1