基于K8s集群的容器服务调试方法及装置、电子设备制造方法及图纸

技术编号:37609740 阅读:8 留言:0更新日期:2023-05-18 12:01
本发明专利技术公开了一种基于K8s集群的容器服务调试方法及装置、电子设备,涉及网络技术与安全领域,其中,该方法包括:接收K8s集群中容器节点代理组件转发的容器服务请求,基于长连接将容器服务请求转发至客户端代理,其中,客户端代理在接收到容器服务请求后,基于域名信息将容器服务请求转发给客户端主机中的本地系统,由本地系统对目标应用进行调试,得到应用调试结果;接收客户端代理返回的应用调试结果,并将应用调试结果返回至用户终端。本发明专利技术解决了相关技术中对K8s集群中的容器应用进行调试时,需要将本地应用打包成容器镜像后,再将其部署到K8s集群环镜中,导致客户端无法进行本地化应用调试的技术问题。行本地化应用调试的技术问题。行本地化应用调试的技术问题。

【技术实现步骤摘要】
基于K8s集群的容器服务调试方法及装置、电子设备


[0001]本专利技术涉及网络技术与安全领域,具体而言,涉及一种基于K8s集群的容器服务调试方法及装置、电子设备。

技术介绍

[0002]在容器化盛行后,K8s集群技术占据到主流,由于集群技术的特点,其所占用的资源非普通开发者的主机所能承受,同时由于集群环境的复杂性,通常是团队协同开发,单主机搭建开发环境变得越发不可行。
[0003]在K8s集群环境需要调试应用时,需要先将应用打包成镜像推送到镜像仓库中,图1是根据现有技术的一种在K8s集群环境进行应用调试方法的流程图,如图1所示,现有技术中,针对容器服务应用调试的流程包括:开发者打包应用镜像并输入到镜像仓库,然后将应用部署到K8s集群进行应用测试,各模块联合调试应用输出调试日志,对日志进行分析定位问题,联调完成后即可发布测试。由于K8s的容器化环境中是基于CNI(Container Network Interface,容器网络的API接口)组件来构建的一个独立的网络环境,当需要对K8s环境中微服务容器进行调试时,需要如图1中先将本地应用打包成容器镜像后,再将其部署到K8s集群环镜中,这个过程使客户端想要基于K8s环境进行本地化调试就变得不可行,并且这种调试过程通常只能通过容器日志进行问题定位。另外这种应用调试方法,容器的打包和部署耗时较长,对于经常需要进行调试的开发者来说会带来极大的效率损耗。并且,现有技术中的应用调试流程繁琐,联调应用时只能借助日志输出来定位问题,使得问题定位效率大大降低,从而导致业务调试效率较低。
[0004]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0005]本专利技术实施例提供了一种基于K8s集群的容器服务调试方法及装置、电子设备,以至少解决相关技术中对K8s集群中的容器应用进行调试时,需要将本地应用打包成容器镜像后,再将其部署到K8s集群环镜中,导致客户端无法进行本地化应用调试的技术问题。
[0006]根据本专利技术实施例的一个方面,提供了一种基于K8s集群的容器服务调试方法,应用于K8s集群环境中的服务端代理,所述服务端代理与客户端主机中部署的客户端代理建立长连接,所述服务端代理接管K8s集群中的目标容器服务,所述客户端代理通过所述长连接获取所述目标容器服务的域名信息,容器服务调试方法包括:接收所述K8s集群中容器节点代理组件转发的容器服务请求,其中,所述容器服务请求为用户终端向所述容器节点代理组件发起的,用于向所述目标容器服务请求对目标应用进行调试;基于所述长连接将所述容器服务请求转发至所述客户端代理,其中,所述客户端代理在接收到所述容器服务请求后,基于所述域名信息将所述容器服务请求转发给所述客户端主机中的本地系统,由所述本地系统对所述目标应用进行调试,得到应用调试结果;接收所述客户端代理返回的所述应用调试结果,并将所述应用调试结果返回至所述用户终端。
[0007]可选地,所述服务端代理与客户端主机中部署的客户端代理建立长连接,包括:在所述K8s集群中部署所述服务端代理,并设置指定网络模式;采用所述指定网络模式在与所述K8s集群对应的集群主机的主机网络中开启主机服务端口;建立所述服务端代理与所述主机服务端口之间的第一网络链接;在所述客户端主机中部署所述客户端代理;建立所述主机服务端口与所述客户端代理之间的第二网络链接;基于所述第一网络链接和所述第二网络链接,建立所述服务端代理与所述客户端代理之间的长连接。
[0008]可选地,在接收所述K8s集群中容器节点代理组件转发的容器服务请求之前,还包括:接收所述客户端代理发送的服务修改指令,其中,所述服务修改指令至少携带有:所述目标容器服务的服务标识;响应所述服务修改指令,调用所述K8s集群的API接口,通过所述API接口获取所有容器服务,并采集每个所述容器服务内部的域名信息;通过所述K8s集群的API接口将所述服务标识指示的目标容器服务的服务链接修改为所述服务端代理,以使所述服务端代理接管所述K8s集群中的目标容器服务,得到指令执行结果;将每个所述容器服务内部的域名信息以及所述指令执行结果返回至所述客户端代理。
[0009]可选地,在接收所述客户端代理发送的服务修改指令之后,还包括:获取所述服务修改指令中的用户信息,其中,所述用户信息至少包括:用户名称和用户权限;对所述服务修改指令中的用户信息进行鉴权,得到鉴权结果,其中,所述鉴权结果指示是否允许调用所述K8s集群的API接口。
[0010]可选地,所述容器服务调试方法还包括:接收所述容器节点代理组件转发的本地服务请求,其中,所述本地服务请求为客户端主机的本地系统发起的,用于向所述K8s集群中除所述目标容器服务之外的指定容器服务请求对指定应用进行调试;响应所述本地服务请求,调用所述K8s集群的API接口查询所述指定容器服务;将所述本地服务请求转发至所述指定容器服务,由所述指定容器服务对所述指定应用进行调试,得到应用调试结果;接收所述指定容器服务返回的应用调试结果,并将所述应用调试结果返回至所述本地系统。
[0011]根据本专利技术实施例的另一方面,还提供了一种基于K8s集群的容器服务调试方法,应用于客户端主机中部署的客户端代理,所述客户端代理与K8s集群环境中部署的服务端代理建立长连接,所述服务端代理接管K8s集群中的目标容器服务,所述客户端代理通过所述长连接获取所述目标容器服务的域名信息,容器服务调试方法包括:基于所述长连接,接收所述服务端代理转发的容器服务请求,其中,所述容器服务请求为用户终端发起的,用于向所述目标容器服务请求对目标应用进行调试;基于所述域名信息将所述容器服务请求转发至所述客户端主机中的本地系统,由所述本地系统对所述目标应用进行调试,得到应用调试结果;将所述应用调试结果发送至所述服务端代理,其中,所述服务端代理将所述应用调试结果返回至所述用户终端。
[0012]可选地,所述容器服务调试方法还包括:在与所述服务端代理建立长连接后,接收所述服务端代理发送的指令执行结果,其中,所述指令执行结果指示通过所述K8s集群的API接口将目标容器服务的服务链接修改为所述服务端代理是否成功;在所述指令执行结果指示修改成功的情况下,将所述目标容器服务的域名信息中的服务IP地址指向所述服务端代理。
[0013]可选地,所述容器服务调试方法还包括:接收所述服务端代理发送的每个所述容器服务内部的域名信息;将所有所述容器服务的域名信息写入本地网络链接文件中,其中,
所述本地网络链接文件用于为所述客户端主机提供所述K8s集群中所有容器服务的服务链接;建立所述客户端主机、所述客户端代理与所述服务端代理之间的网络传输双向通道。
[0014]根据本专利技术实施例的另一方面,还提供了一种基于K8s集群的容器服务调试装置,应用于K8s集群环境中的服务端代理,所述服务端代理与客户端主机中部署的客户端代理建立长连接,所述服务端代理接管K8s集群中的目标容器服务,所述客户端代理通过所述长连接获取所述目标容器服务的域名信息,容器服务调试装置包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于K8s集群的容器服务调试方法,其特征在于,应用于K8s集群环境中的服务端代理,所述服务端代理与客户端主机中部署的客户端代理建立长连接,所述服务端代理接管K8s集群中的目标容器服务,所述客户端代理通过所述长连接获取所述目标容器服务的域名信息,容器服务调试方法包括:接收所述K8s集群中容器节点代理组件转发的容器服务请求,其中,所述容器服务请求为用户终端向所述容器节点代理组件发起的,用于向所述目标容器服务请求对目标应用进行调试;基于所述长连接将所述容器服务请求转发至所述客户端代理,其中,所述客户端代理在接收到所述容器服务请求后,基于所述域名信息将所述容器服务请求转发给所述客户端主机中的本地系统,由所述本地系统对所述目标应用进行调试,得到应用调试结果;接收所述客户端代理返回的所述应用调试结果,并将所述应用调试结果返回至所述用户终端。2.根据权利要求1所述的容器服务调试方法,其特征在于,所述服务端代理与客户端主机中部署的客户端代理建立长连接,包括:在所述K8s集群中部署所述服务端代理,并设置指定网络模式;采用所述指定网络模式在与所述K8s集群对应的集群主机的主机网络中开启主机服务端口;建立所述服务端代理与所述主机服务端口之间的第一网络链接;在所述客户端主机中部署所述客户端代理;建立所述主机服务端口与所述客户端代理之间的第二网络链接;基于所述第一网络链接和所述第二网络链接,建立所述服务端代理与所述客户端代理之间的长连接。3.根据权利要求1所述的容器服务调试方法,其特征在于,在接收所述K8s集群中容器节点代理组件转发的容器服务请求之前,还包括:接收所述客户端代理发送的服务修改指令,其中,所述服务修改指令至少携带有:所述目标容器服务的服务标识;响应所述服务修改指令,调用所述K8s集群的API接口,通过所述API接口获取所有容器服务,并采集每个所述容器服务内部的域名信息;通过所述K8s集群的API接口将所述服务标识指示的所述目标容器服务的服务链接修改为所述服务端代理,以使所述服务端代理接管所述K8s集群中的目标容器服务,得到指令执行结果;将每个所述容器服务内部的域名信息以及所述指令执行结果返回至所述客户端代理。4.根据权利要求3所述的容器服务调试方法,其特征在于,在接收所述客户端代理发送的服务修改指令之后,还包括:获取所述服务修改指令中的用户信息,其中,所述用户信息至少包括:用户名称和用户权限;对所述服务修改指令中的用户信息进行鉴权,得到鉴权结果,其中,所述鉴权结果指示是否允许调用所述K8s集群的API接口。5.根据权利要求1所述的容器服务调试方法,其特征在于,还包括:
接收所述容器节点代理组件转发的本地服务请求,其中,所述本地服务请求为所述客户端主机的本地系统发起的,用于向所述K8s集群中除所述目标容器服务之外的指定容器服务请求对指定应用进行调试;响应所述本地服务请求,调用所述K8s集群的API接口查询所述指定容器服务;将所述本地服务请求转发至所述指定容器服务,由所述指定容器服务对所述指定应用进行调试,得到应用调试结果;接收所述指定容器服务返回的应用调试结果,并将所述应用调试结...

【专利技术属性】
技术研发人员:高显华胡烜舒玉凤林荣杰
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:

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

1