一种面向服务发现与注册的方法及装置制造方法及图纸

技术编号:34164757 阅读:10 留言:0更新日期:2022-07-17 09:18
本发明专利技术涉及一种面向服务发现与注册的方法及装置,通过云服务平台将Kubernetes集群服务绑定到公网IP,运行服务代理,所述服务代理将所述Kubernetes集群服务的公网IP和Node Port端口注册到Nacos的服务列表,对开发人员提供外部访问能力,可避免代理配置的繁琐,避免代理模式下因遗忘还原代理调试代码引起不必要的麻烦,提高团队协作效率。提高团队协作效率。提高团队协作效率。

【技术实现步骤摘要】
一种面向服务发现与注册的方法及装置


[0001]本专利技术涉及通信
,特别是涉及一种面向服务发现与注册的方法及装置。

技术介绍

[0002]在面向微服务模式软件项目开发过程中,通常会有一个集成运行测试环境,及开发人员的本地环境,两者皆是在不同的网络中,基本上不是可能直接互相通信。
[0003]现有通用方案获取Kubernetes的账号密码,通过代理工具把云服务上的应用端口映射到本地代理端口,再通过开发人员的机器及代理端口进行通信,因此需要安装代理工具并获取账号密码授权方可进行相关操作。
[0004]然而,通过Kubernetes专用端口转发代理客户端工具,需要每次在使用前进行开启并把代码的请求地址修改为本机IP,调试完成后提交代码时要把IP还原为云服务请求方式,容易遗忘造成代码无法正常运行。

技术实现思路

[0005]基于此,本专利技术的目的在于,提供一种面向服务发现与注册的方法及装置,其具有避免代理配置的繁琐,避免代理模式下因遗忘还原代理调试代码引起不必要的麻烦,提高团队协作效率的优点。
[0006]为了实现上述目的,本专利技术的第一方面是提供一种面向服务发现与注册的方法,包括:
[0007]云服务平台申请公网IP,将获得的所述公网IP绑定Kubernetes集群服务;
[0008]所述云服务平台运行服务代理,申请所述Kubernetes集群服务的HTTPS访问许可权限,将获得的所述HTTPS访问许可权限配置到所述服务代理可读取的路径;
[0009]所述服务代理周期性以HTTPS协议调用Kubernetes API Server提供的接口,动态获取 Kubernetes服务列表;
[0010]所述服务代理读取所述Kubernetes服务列表中每一服务的labels.register属性;
[0011]若所述服务的labels.register属性的值不等于disabled,则提取所述服务的动态Node Port 端口;
[0012]所述服务代理调用Nacos提供的服务注册接口把所述公网IP和所述动态Node Port端口进行组合,注册到所述Nacos的服务列表并记录到所述服务代理的已注册列表。
[0013]进一步地,当所述服务的labels.register属性的值为disabled时,则调用所述Nacos的服务注册接口进行删除服务操作。
[0014]进一步地,当读取到的所述Kubernetes服务列表中的服务在所述服务代理缓存的所述已注册列表不存在时,则调用所述Nacos的服务注册接口进行删除服务操作。
[0015]进一步地,所述Kubernetes集群服务被所述服务代理访问,是基于Kubernetes环境中的 Ingress暴露服务。
[0016]进一步地,所述Ingress控制器为Ingress Nginx,实现反向代理和负载均衡。
[0017]本专利技术的第二方面是提供一种面向服务发现与注册的装置,包括:
[0018]IP绑定单元,用于云服务平台申请公网IP,将获得的所述公网IP绑定Kubernetes集群服务;
[0019]访问许可权限配置单元,所述云服务平台运行服务代理,申请所述Kubernetes集群服务的HTTPS访问许可权限,将获得的所述HTTPS访问许可权限配置到所述服务代理可读取的路径;
[0020]服务列表获取单元,所述服务代理周期性以HTTPS协议调用Kubernetes API Server提供的接口,动态获取Kubernetes服务列表;
[0021]读取单元,用于所述服务代理读取所述Kubernetes服务列表中每一服务的 labels.register属性;
[0022]端口提取单元,若所述服务的labels.register属性的值不等于disabled,则提取所述服务的动态Node Port端口;
[0023]服务注册单元,用于所述服务代理调用Nacos提供的服务注册接口把所述公网IP和所述动态Node Port端口进行组合,注册到所述Nacos的服务列表并记录到所述服务代理的已注册列表。
[0024]与现有技术相比,本专利技术的有益效果如下:本专利技术通过云服务平台将Kubernetes集群服务绑定到公网IP,运行服务代理,所述服务代理将所述Kubernetes集群服务的公网IP和NodePort端口注册到Nacos的服务列表,对开发人员提供外部访问能力,可避免代理配置的繁琐,避免代理模式下因遗忘还原代理调试代码引起不必要的麻烦,提高团队协作效率。
附图说明
[0025]图1为本专利技术面向服务发现与注册方法的流程示意图;
[0026]图2为本专利技术面向服务发现与注册装置的结构框图。
具体实施方式
[0027]为了更好地理解和实施,下面结合附图详细说明本专利技术。
[0028]请参阅图1和图2,本专利技术实施例提供一种面向服务发现与注册的方法,包括的步骤如下:
[0029]S101.云服务平台申请公网IP,将获得的所述公网IP绑定Kubernetes集群服务。
[0030]Kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制。所述Kubernetes集群服务,其实就是负载均衡、或反向代理。和负载均衡一样,服务有它的IP地址以及前端端口;服务后边会挂载多个容器组Pod作为其“后端服务器”,这些“后端服务器”有自己的IP以及监听端口。所述云服务平台申请公网IP并进行绑定Kubernetes集群服务,用于将 Kubernetes集群服务注册到Nacos的开发域时,提供给开发环境访问的直连IP通道。
[0031]S102.所述云服务平台运行服务代理,申请所述Kubernetes集群服务的HTTPS访问
许可权限,将获得的所述HTTPS访问许可权限配置到所述服务代理可读取的路径。
[0032]服务代理,它是一个运行在Kubernetes容器环境中的一个服务,负责通过授权许可以 HTTPS协议访问Kubernetes的服务查询接口,对查询到的服务列表信息进行解析,将允许对外注册开放的微服务通过Nacos提供的接口进行注册和删除操作,简而言之它就是一个云端的服务发现与注册代理工具引擎。
[0033]所述云服务平台运行服务代理,所述服务代理申请Kubernetes集群服务的HTTPS访问许可权限并配置到代理服务可读取的路径,在服务代理运行期间读取授权信息中的Token信息在HTTPS调用的请求头带入以作为身份识别。
[0034]S103.所述服务代理周期性以HTTPS协议调用Kubernetes API Server提供的接口,动态获取Kubernetes服务列表;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向服务发现与注册的方法,其特征在于,包括:云服务平台申请公网IP,将获得的所述公网IP绑定Kubernetes集群服务;所述云服务平台运行服务代理,申请所述Kubernetes集群服务的HTTPS访问许可权限,将获得的所述HTTPS访问许可权限配置到所述服务代理可读取的路径;所述服务代理周期性以HTTPS协议调用Kubernetes API Server提供的接口,动态获取Kubernetes服务列表;所述服务代理读取所述Kubernetes服务列表中每一服务的labels.register属性;若所述服务的labels.register属性的值不等于disabled,则提取所述服务的动态Node Port端口;所述服务代理调用Nacos提供的服务注册接口把所述公网IP和所述动态Node Port端口进行组合,注册到所述Nacos的服务列表并记录到所述服务代理的已注册列表。2.根据权利要求1所述的一种面向服务发现与注册的方法,其特征在于:当所述服务的labels.register属性的值为disabled时,则调用所述Nacos的服务注册接口进行删除服务操作。3.根据权利要求1所述的一种面向服务发现与注册的方法,其特征在于:当读取到的所述Kubernetes服务列表中的服务在所述服务代理缓存的所述已注册列表不存在时,则调用所述Nacos的服务注册接口进行删除服务操作。4.根据权利要求...

【专利技术属性】
技术研发人员:姚连洲张大志袁志远史玉洁
申请(专利权)人:广东飞企互联科技股份有限公司
类型:发明
国别省市:

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

1