基于Kubernetes高效配置公网域名方法和系统技术方案

技术编号:38240883 阅读:9 留言:0更新日期:2023-07-25 18:03
本发明专利技术公开了一种基于Kubernetes高效配置公网域名方法和系统,方法包括:在Kubernetes集群中部署微服务模块,用于检测是否有新的微服务创建,同时探测微服务监听的端口,状态输出;部署网络代理服务,用于配置微服务的集群负载,Ingress域名主机配置,NginxIngress公网IP生成;部署证书管理服务,用于获取https证书,并将证书转换成Secret类型数据,同时将安全证书信息传输给网络代理服务;部署域名服务,用于向DNS服务器添加A记录,做域名解析,探测域名可用性。本发明专利技术可实现秒级配置域名,从而极大提高配置效率和降低错误率。率。率。

【技术实现步骤摘要】
基于Kubernetes高效配置公网域名方法和系统


[0001]本专利技术涉及信息处理
,尤其涉及一种基于Kubernetes高效配置公网域名方法和系统。

技术介绍

[0002]随着云原生的快速发展,DevOps理念文化推崇,微服务架构盛行,当前大部分企业都基于Kubernetes集群部署在线业务,默认情况下运行在Kubernetes中的服务外部是无法访问的,只能在Kubernetes集群内的容器之间访问,如需要对外提供访问入口,需要自行额外配置公网域名或公网IP,实际工作中,大多数业务都有对外提供访问的需求,将业务系统功能暴露给互联网上的用户访问,而Kubernetes由于技术的复杂性,配置公网域名是一项复杂且繁琐的工作。
[0003]传统配置Kubernetes公网域名的方法,由于链路长,配置的参数多,需要结合工具和手工操作,导致配置效率低下。另外需要大规模配置域名解析情况下,需要人为检测是否有重复性,一旦配置了同样的A记录,则会导致配置后呈现的效果与自己想实现的不一致。最后当A记录大到一定数量需要删除一些条目时,清理工作也很麻烦,操作时极易出错,一旦操作错误,严重时导致服务无法访问的情况。

技术实现思路

[0004]基于现有技术存在的问题和缺陷,本专利技术实施例提出了一种基于Kubernetes高效配置公网域名方法和系统,可实现秒级配置域名,从而极大提高配置效率和降低错误率。具体技术方案如下:
[0005]第一方面,本专利技术实施例提供一种基于Kubernetes高效配置公网域名的方法,所述方法包括:
[0006]在Kubernetes集群中部署微服务模块,用于检测是否有新的微服务创建,同时探测微服务监听的端口,状态输出;
[0007]在Kubernetes集群中部署网络代理服务,用于配置微服务的集群负载,Ingress域名主机配置,NginxIngress公网IP生成;
[0008]在Kubernetes集群中部署证书管理服务,用于获取https证书,并将证书转换成Secret类型数据,同时将安全证书信息传输给网络代理服务;
[0009]在Kubernetes集群中部署域名服务,用于向DNS服务器添加A记录,做域名解析,探测域名可用性。
[0010]在一实施例中,所述微服务模块、所述网络代理服务、所述证书管理服务和所述域名服务部署在同一名称空间。
[0011]在一实施例中,所述微服务模块检测是否有新的微服务创建时的判断依据是有没有新的Pod或Depolyment实例产生,当监听到有新的微服务创建后,去探测微服务监听的端口。
[0012]在一实施例中,所述微服务模块通过Telnet机制探测微服务监听的端口。
[0013]在一实施例中,所述网络代理服务收到证书管理服务返回的安全证书后,开始创建NginxIngress控制器,通过NginxIngress控制器生成公网负载IP。
[0014]在一实施例中,所述网络代理服务通过创建Ingress配置公网域名并绑定至所述微服务模块中新的微服务。
[0015]在一实施例中,所述域名服务在检查域名是否配置成功后,将最后的状态告知所述微服务模块,所述微服务模块在接到所述域名服务的状态后,输出状态至控制台。
[0016]第二方面,本专利技术实施例还提供一种基于Kubernetes高效配置公网域名的系统,所述系统包括:部署在Kubernetes集群中的微服务模块、网络代理服务、证书管理服务、域名服务;
[0017]所述微服务模块,用于检测是否有新的微服务创建,同时探测微服务监听的端口,状态输出;
[0018]所述网络代理服务,用于配置微服务的集群负载,Ingress域名主机配置,NginxIngress公网IP生成;
[0019]所述证书管理服务,用于获取https证书,并将证书转换成secret类型数据,同时将安全证书信息传输给网络代理服务;
[0020]所述域名服务,用于向DNS服务器添加A记录,做域名解析,探测域名可用性。
[0021]在一实施例中,所述微服务模块、所述网络代理服务、所述证书管理服务和所述域名服务部署在同一名称空间。
[0022]第三方面,本专利技术实施例还提供一种电子设备,其包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口、存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现第一方面任一项所述的方法步骤。
[0023]由于采用了以上技术方案,使得本专利技术具有以下有益效果:
[0024]1、相比YAML编排+手工方式配置域名,本专利技术的装置效率得到极大提升,尤其批量增加微服务域名或者删减微服务域名的时候效率更为突出,原来配置一个域名需要3分钟左右,现在通过自动化方式配置一个域名可以缩减到3秒以内,效率可提升几十倍甚至上百倍;
[0025]2、由于整个过程都是程序自动化实现,无需人为干预,极大降低人为介入的误操作概率。
附图说明
[0026]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]图1为Kubernetes集群的结构示意图。
[0028]图2为传统Kubernetes配置公网域名的方法流程图。
[0029]图3为本专利技术实施例所提供的基于Kubernetes高效配置公网域名的系统架构图。
[0030]图4为本专利技术实施例所提供的基于Kubernetes高效配置公网域名的方法流程图。
[0031]图5为本专利技术实施例所提供的电子设备的结构示意图。
具体实施方式
[0032]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。
[0033]在此之前,首先对文中出现的若干专业术语解释如下:
[0034]Kubernetes:简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署、规划、更新、维护的一种机制。
[0035]DevOps:Development和Operations的组合词,是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
[0036]Secret:是一种包含少量敏感信息例如密码、令牌或密钥的对象。这样的信息可能会被放在Pod规约中或者镜像中。用户可以创建Secret,同时系统也创建了一些Secr本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Kubernetes高效配置公网域名的方法,其特征在于,所述方法包括:在Kubernetes集群中部署微服务模块,用于检测是否有新的微服务创建,同时探测微服务监听的端口,状态输出;在Kubernetes集群中部署网络代理服务,用于配置微服务的集群负载,Ingress域名主机配置,NginxIngress公网IP生成;在Kubernetes集群中部署证书管理服务,用于获取https证书,并将证书转换成Secret类型数据,同时将安全证书信息传输给网络代理服务;在Kubernetes集群中部署域名服务,用于向DNS服务器添加A记录,做域名解析,探测域名可用性。2.如权利要求1所述的基于Kubernetes高效配置公网域名的方法,其特征在于,所述微服务模块、所述网络代理服务、所述证书管理服务和所述域名服务部署在同一名称空间。3.如权利要求1所述的基于Kubernetes高效配置公网域名的方法,其特征在于,所述微服务模块检测是否有新的微服务创建时的判断依据是有没有新的Pod或Depolyment实例产生,当监听到有新的微服务创建后,去探测微服务监听的端口。4.如权利要求1所述的基于Kubernetes高效配置公网域名的方法,其特征在于,所述微服务模块通过Telnet机制探测微服务监听的端口。5.如权利要求1所述的基于Kubernetes高效配置公网域名的方法,其特征在于,所述网络代理服务收到证书管理服务返回的安全证书后,开始创建NginxIngress控制器,通过NginxIngress控制器生成公网负载IP。6....

【专利技术属性】
技术研发人员:刘立湘
申请(专利权)人:上海非码网络科技有限公司
类型:发明
国别省市:

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

1