一种k8s网络拨测方法、装置、设备及存储介质与流程
- 国知局
- 2025-01-10 13:40:17
本发明属于容器管理领域,尤其涉及一种k8s网络拨测方法、装置、设备及存储介质。
背景技术:
1、容器是微服务部署的主流方式,k8s是容器编排事实标准。大规模k8s集群中存在工作节点,k8s中使用cni插件在这些节点上构建一个庞大而复杂的容器网络。k8s集群内通过service为各个服务做负载均衡,并通过coredns做服务发现。集群外访问服务通常还需要通过ingress-nginx提供从集群外部到集群内服务的http和https路由http服务。整个服务访问链路上任何一个环节异常都可能影响服务稳定性,排查也非常困难。
2、当前一般通过mirantis/k8s-netchecker检查k8s node节点网络,另外还可以通过postfinance/kubenurse作为开源k8s网络检查工具,能够检查节点之间、节点和svc、ingress之前的网络延迟、coredns延迟。但ingress地址只能配置一个,大规模生产环境可能有多个lb转发到后端ingress集群,且现有方案缺少对外部依赖地址,包括域名、ip端口的拨测,导致拨测的覆盖不够全面。
技术实现思路
1、鉴于以上现有技术的不足,发明的目的在于提供一种k8s网络拨测方法、装置、设备及存储介质。
2、本发明第一方面提供一种k8s网络拨测方法,包括:
3、s1:建立服务器组件及智能体组件,并将所述服务器组件及所述智能体组件分别进行部署;
4、s2:启动所述服务器组件,并通过所述服务器组件维持k8s集群的内部负载均衡及外部负载均衡;
5、s3:通过所述智能体组件拨测k8s集群的服务,获得拨测结果;
6、s4:将所述拨测结果可视化,以完成k8s集群拨测。
7、根据本发明提供的一种k8s网络拨测方法,步骤s1中的所述服务器组件为netcheck-server组件,所述智能体组件为netcheck-agent组件。
8、根据本发明提供的一种k8s网络拨测方法,步骤s1中,所述服务器组件通过deployment部署至k8s集群,所述智能体组件通过daemonset方式分别部署至每个节点。
9、根据本发明提供的一种k8s网络拨测方法,步骤s2中,所述服务器组件通过svc服务进行k8s集群的内部负载均衡,通过ingress入口进行k8s集群的外部负载均衡。
10、根据本发明提供的一种k8s网络拨测方法,步骤s3具体包括:
11、所述智能体组件拨测每个pod单元的alive接口;
12、所述智能体组件通过svc服务拨测服务器组件;
13、所述智能体组件基于ingress入口,通过配置多个域名拨测k8s集群的内部服务;
14、所述智能体组件通过多个lb地址拨测虚拟ip地址至ingress入口至svc服务的链路;
15、所述智能体组件通过ip端口或域名拨测外部依赖服务。
16、根据本发明提供的一种k8s网络拨测方法,当所述智能体组件拨测外部依赖服务时,默认对所有外部依赖服务进行拨测;
17、当所述智能体组件拨测指定外部依赖服务时,所述智能体组件与kube-apiserver组件保持通信以获取当前节点标签,当所述当前节点标签与预设的指定节点标签匹配时,对匹配的当前节点标签对应的当前节点的外部依赖服务进行拨测。
18、根据本发明提供的一种k8s网络拨测方法,步骤s4中,所述服务器组件及所述智能体组件均提供metrics接口,服务监控系统通过所述metrics接口对k8s集群的网络配置及所述拨测结果进行可视化监控。
19、本发明第二方面提供一种k8s网络拨测装置,包括:
20、部署模块:用于将建立服务器组件及智能体组件分别进行部署;
21、负载均衡模块:用于启动所述服务器组件,还用于通过所述服务器组件维持k8s集群的内部负载均衡及外部负载均衡;
22、拨测模块:用于通过所述智能体组件拨测k8s集群的服务,获得拨测结果;
23、可视化模块:用于将所述拨测结果可视化。
24、本发明第三方面提供一种k8s网络拨测设备,包括:
25、存储器和至少一个处理器,所述存储器中存储有指令;
26、所述处理器调用所述存储器中的所述指令,以使得k8s网络拨测设备执行如以上任一项所述的k8s网络拨测方法。
27、本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现如以上任一项所述的k8s网络拨测方法。
28、本发明有益效果如下:
29、本发明提供的一种k8s网络拨测方法、装置、设备及存储介质,通过在k8s集群各个节点部署agent,通过agent与server直接的拨测、agent通过对svc、ingress、coredns和外部依赖地址和域名的拨测,快速定位异常机器,提升网络问题处理速度。本发明部署的agent通过对server的svc、ingress、lb进行拨测,能够全面检测到服务暴露的整个链路上lb、ingress、svc连通性和域名解析情况。可配置拨测多个ingress和lb地址配置;其次agent和server之间的相互拨测可以检测pod之间网络健康情况;另外agent可以对外部ip端口和域名拨测,及时发现外部依赖连通性问题,还通过label限定可以限定需要访问外部依赖的机器才拨测,减少脏数据,更加精准发现问题。
30、本发明提供的一种k8s网络拨测方法、装置、设备及存储介质,功能丰富,agent通过对server的svc、ingress、lb进行拨测,能够全面检测到服务暴露的整个链路上lb、ingress、svc连通性和域名解析情况,可配置拨测多个ingress和lb地址配置;且配置灵活,agent可以对外部ip端口和域名拨测,及时发现外部依赖连通性问题,通过label限定可以限定需要访问外部依赖的机器才拨测,减少脏数据,更加精准发现问题。
技术特征:1.一种k8s网络拨测方法,其特征在于,包括:
2.根据权利要求1所述的一种k8s网络拨测方法,其特征在于,步骤s1中的所述服务器组件为netcheck-server组件,所述智能体组件为netcheck-agent组件。
3.根据权利要求1所述的一种k8s网络拨测方法,其特征在于,步骤s1中,所述服务器组件通过deployment部署至k8s集群,所述智能体组件通过daemonset方式分别部署至每个节点。
4.根据权利要求1所述的一种k8s网络拨测方法,其特征在于,步骤s2中,所述服务器组件通过svc服务进行k8s集群的内部负载均衡,通过ingress入口进行k8s集群的外部负载均衡。
5.根据权利要求1所述的一种k8s网络拨测方法,其特征在于,步骤s3具体包括:
6.根据权利要求5所述的一种k8s网络拨测方法,其特征在于,当所述智能体组件拨测外部依赖服务时,默认对所有外部依赖服务进行拨测;
7.根据权利要求1所述的一种k8s网络拨测方法,其特征在于,步骤s4中,所述服务器组件及所述智能体组件均提供metrics接口,服务监控系统通过所述metrics接口对k8s集群的网络配置及所述拨测结果进行可视化监控。
8.一种k8s网络拨测装置,其特征在于,包括:
9.一种k8s网络拨测设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现如权利要求1-7中任一项所述的k8s网络拨测方法。
技术总结本发明涉及一种k8s网络拨测方法、装置、设备及存储介质,该方法包括:建立服务器组件及智能体组件,并将所述服务器组件及所述智能体组件分别进行部署;启动所述服务器组件,并通过所述服务器组件维持k8s集群的内部负载均衡及外部负载均衡;通过所述智能体组件拨测k8s集群的服务,获得拨测结果;将所述拨测结果可视化,以完成k8s集群拨测。本发明能够全面地对k8s集群进行拨测,快速定位异常机器,提升网络问题处理速度。技术研发人员:覃忠良受保护的技术使用者:天翼视联科技有限公司技术研发日:技术公布日:2025/1/6本文地址:https://www.jishuxx.com/zhuanli/20250110/354596.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表