System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种本地调试Kubernetes容器的装置制造方法及图纸_技高网

一种本地调试Kubernetes容器的装置制造方法及图纸

技术编号:40581091 阅读:9 留言:0更新日期:2024-03-06 17:24
本发明专利技术公开了一种本地调试Kubernetes容器的装置,帮助开发人员一键对任意集群的应用进行调试,无需人工配置kubeconfig配置文件,无需人工安装调试工具,实现秒级的本地调试体验。其技术方案为:装置包括:前端交互模块,用于应用列表的展示和操作,供用户在可视化界面上选择待调试应用;指令生成与下发模块,用于自动生成调试指令;调试工具模块,用于执行所生成的调试指令。

【技术实现步骤摘要】

本专利技术涉及kubernetes容器平台的技术,具体涉及一种本地调试kubernetes容器的装置。


技术介绍

1、随着云原生与微服务架构的普及,应用普遍上云,kubernetes已成为业界流行的容器编排管理平台。kubernetes简称k8s,是用8代替8个字符“ubernete”而成的缩写,是一个开源的、用于管理云平台中多个主机上的容器化的应用,kubernetes的目标是让部署容器化的应用简单并且高效。

2、通过部署容器方式实现应用部署,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。

3、pod是kubernetes的最重要最基本的概念。它是k8s系统中能够被创建、调度和管理的最小部署单元。一个pod代表集群中一个运行的进程。pod可以包含多个容器(一组容器的集合)。当kubernetes集群pod出现故障,开发人员迫切需要一种可以在本地断点调试,快速定位问题的方法。为解决这一难题,许多开源或商业工具应运而生,其中kt-connect是一款优秀的用来调试kubernetes集群容器的开源工具。kt-connect通过exchange机制可以将kubernetes集群内服务的流量转发到开发者本地进程,实现调试目的,但只能通过命令行的方式开启流量转发功能。

4、具体地,kt-connect工具还存在如下限制和不方便的地方:

<p>5、1.只能通过命令行操作,不支持可视化,用户体验较差;

6、2.需要用户本地配置kubeconfig配置文件,有安全风险,kubeconfig包含kubernetes集群的地址、命名空间等信息,通过kubeconfig文件可以连接集群,并对集群中的应用进行操作。不同kubeconfig文件的权限不同,可以根据需要限制kubeconfig文件只能操作某个命名空间下的资源;

7、3.需要用户本地安装调试工具,难以升级更新;

8、4.需要用户通过命令行与调试工具交互,从编写命令到开始调试需要分钟级的耗时。


技术实现思路

1、以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。

2、本专利技术的目的在于解决上述问题,提供了一种本地调试kubernetes容器的装置,帮助开发人员一键对任意集群的应用进行调试,无需人工配置kubeconfig配置文件,无需人工安装调试工具,实现秒级的本地调试体验。

3、本专利技术的技术方案为:本专利技术揭示了一种本地调试kubernetes容器的装置,装置包括:

4、前端交互模块,用于应用列表的展示和操作,供用户在可视化界面上选择待调试应用;

5、指令生成与下发模块,用于自动生成调试指令;

6、调试工具模块,用于执行所生成的调试指令。

7、根据本专利技术的本地调试kubernetes容器的装置的一实施例,指令生成与下发模块进一步配置为执行以下处理:

8、步骤一:在应用列表中选择待调试应用;

9、步骤二:自动生成调试指令;

10、步骤三:下载调试指令。

11、根据本专利技术的本地调试kubernetes容器的装置的一实施例,步骤一进一步包括:

12、从待调试应用所在的kubernetes集群中获取所有的应用列表,其中标签包含debug-user的应用代表正在调试中。

13、根据本专利技术的本地调试kubernetes容器的装置的一实施例,步骤二进一步包括:

14、若应用未处于调试中,则生成调试指令;若应用已处于调试中,则生成终止调试指令。

15、根据本专利技术的本地调试kubernetes容器的装置的一实施例,在步骤二中,根据应用所处的集群、命名空间,生成仅拥有当前命名空间资源操作权限的kubeconfig文件。

16、根据本专利技术的本地调试kubernetes容器的装置的一实施例,步骤三进一步包括:

17、将调试指令封装为bat脚本或shell脚本,连同相应的kubeconfig文件下载到用户本地。

18、根据本专利技术的本地调试kubernetes容器的装置的一实施例,调试模块进一步配置为执行以下处理:

19、步骤1:从软件中心下载调试工具;

20、步骤2:向指定kubernetes集群部署调试工具容器;

21、步骤3:修改待调试应用对应的kubernetes服务的标签;

22、步骤4:调试工具容器将流量转发到本地。

23、根据本专利技术的本地调试kubernetes容器的装置的一实施例,步骤1进一步包括:

24、判断本地指定目录下是否存在调试工具或版本是否为最新,若本地不存在调试工具或版本不是最新,则从软件中心下载最新版本的调试工具进行覆盖。

25、根据本专利技术的本地调试kubernetes容器的装置的一实施例,步骤2进一步包括:

26、调试工具通过指令生成与下发模块下载的kubeconfig文件,连接相应的kubernetes集群;调试工具向kubernetes集群部署指定的调试工具容器,该调试工具容器支持将接收到的流量通过ssh隧道协议转发到本地。

27、根据本专利技术的本地调试kubernetes容器的装置的一实施例,步骤3进一步包括:

28、修改kubernetes服务的标签,指向调试工具容器,使得打到该服务的流量由转发到应用容器组改为转发到调试工具容器;

29、修改kubernetes服务的注解,标识当前调试的用户。

30、本专利技术对比现有技术有如下的有益效果:一、本专利技术通过可视化界面支持用户选择待调试应用;二、本专利技术支持生成和下载调试指令,并将其封装为脚本,提高了调试工具的易用性和调试效率;三、本专利技术支持生产仅能操作指定命名空间资源权限的kubeconfig文件,提高了安全性和易用性;四、本专利技术支持从软件中心下载和更新调试工具,提升了调试工具的易维护性。

本文档来自技高网
...

【技术保护点】

1.一种本地调试Kubernetes容器的装置,其特征在于,装置包括:

2.根据权利要求1所述的本地调试Kubernetes容器的装置,其特征在于,指令生成与下发模块进一步配置为执行以下处理:

3.根据权利要求2所述的本地调试Kubernetes容器的装置,其特征在于,步骤一进一步包括:

4.根据权利要求3所述的本地调试Kubernetes容器的装置,其特征在于,步骤二进一步包括:

5.根据权利要求4所述的本地调试Kubernetes容器的装置,其特征在于,在步骤二中,根据应用所处的集群、命名空间,生成仅拥有当前命名空间资源操作权限的kubeconfig文件。

6.根据权利要求5所述的本地调试Kubernetes容器的装置,其特征在于,步骤三进一步包括:

7.根据权利要求6所述的本地调试Kubernetes容器的装置,其特征在于,调试模块进一步配置为执行以下处理:

8.根据权利要求7所述的本地调试Kubernetes容器的装置,其特征在于,步骤1进一步包括:

9.根据权利要求8所述的本地调试Kubernetes容器的装置,其特征在于,步骤2进一步包括:

10.根据权利要求9所述的本地调试Kubernetes容器的装置,其特征在于,步骤3进一步包括:

...

【技术特征摘要】

1.一种本地调试kubernetes容器的装置,其特征在于,装置包括:

2.根据权利要求1所述的本地调试kubernetes容器的装置,其特征在于,指令生成与下发模块进一步配置为执行以下处理:

3.根据权利要求2所述的本地调试kubernetes容器的装置,其特征在于,步骤一进一步包括:

4.根据权利要求3所述的本地调试kubernetes容器的装置,其特征在于,步骤二进一步包括:

5.根据权利要求4所述的本地调试kubernetes容器的装置,其特征在于,在步骤二中,根据应用所处的集群、命名空间,生成仅拥有当前命名空间资源操作权限...

【专利技术属性】
技术研发人员:范明柯张立东
申请(专利权)人:上海金融期货信息技术有限公司
类型:发明
国别省市:

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

1