一种网络连通性监测与恢复方法技术

技术编号:39488153 阅读:8 留言:0更新日期:2023-11-24 11:08
本发明专利技术公开一种网络连通性监测与恢复方法

【技术实现步骤摘要】
一种网络连通性监测与恢复方法、系统、介质及设备


[0001]本专利技术涉及
Kubernetes
集群
,具体地说是一种网络连通性监测与恢复方法

系统

介质及设备


技术介绍

[0002]在将传统应用向
Kubernetes
集群系统进行迁移时,传统应用将以
Pod
(容器组,即一组容器)形式部署在
Kubernetes
集群系统中


Kubernetes
集群系统中,正常情况下,
Pod
被创建以后只有一个网络接口
eth0

Kubernetes
集群系统无法为
Pod
创建多个网络接口

在本专利技术中,将
eth0
这个网络接口称为
Pod
管理接口

[0003]部分传统应用在部署时需要由宿主服务器提供多个网络接口

不同的网络接口,分别用来承载不同类型的网络流量,比如管理网流量

业务网流量等

将传统应用向
Kubernetes
集群系统进行迁移时,应当尽量保证通过
Pod
启动的应用,与传统应用具有相同的网络运行环境,以此保证网络通信的可靠性,同时减少由应用改造带来的迁移成本较高的问题

[0004]在
Kubernetes
集群系统中,
Pod
管理接口隶属于集群网络,集群网络的搭建可以由多种
CNI
组件来实现,包括但不限于
Calico、Flannel
等组件

随着技术的发展,目前在为
Kubernetes
集群系统搭建集群网络的同时,还可以采用
Multus CNI
组件与
MacVlan CNI
组件为
Kubernetes
集群系统搭建新的网络(在本专利技术中将其称为业务网络),并且可以在业务网络中按需为
Pod
创建一个或者多个网络接口(在本专利技术中将其称为业务接口),并且可以为业务接口分配固定不变的静态
IPv4、IPv6
地址

此时,
Pod
将拥有一个管理接口,以及一个或者多个业务接口

[0005]然而,在生产环境中采用
Deployment
方式部署
Pod
,基于
Multus CNI
组件与
MacVlan CNI
组件为
Pod
创建一个或者多个业务接口

并且为业务接口分配静态
IPv6
地址,在重启该
Deployment
之后,该
Pod
可以正常启动与运行,但是该
Pod
的业务接口与所属业务网络的网关之间的连通性有较大的概率存在问题,该
Pod
的业务接口有较大的概率无法与所属业务网络的网关进行通信,从而导致该
Pod
无法正常地对外提供业务服务

[0006]基于此,如何在
Kubernetes
集群系统中监测
Pod
业务接口的网络连通性,并且在网络连通性出现异常时自动为
Pod
业务接口恢复网络通信,是十分迫切和必要的


技术实现思路

[0007]为此,本专利技术所要解决的技术问题在于提供一种网络连通性监测与恢复方法

系统

介质及设备,可以用于在
Kubernetes
集群中监测
Pod
业务接口的网络连通性,并且在网络连通性出现异常时自动为
Pod
业务接口恢复网络通信

[0008]为解决上述技术问题,本专利技术提供如下技术方案:一种网络连通性监测与恢复方法,用于对
Kubernetes
集群中具有一个或多个业务接口
Pod
的业务接口网络连通性进行监测与恢复,包括如下步骤:
S100
)利用网络监测维护模块对
Pod
的业务接口网络连通性进行监测,当监测到
Pod
的业务接口掉线时,由网络监测维护模块向网络恢复模块发送恢复网络指令;
S200
)网络恢复模块接收到恢复网络指令之后,向部署改造模块发送在发生
Pod
掉线的节点上重新部署
Pod
的指令;
S300
)部署改造模块接收到在发生
Pod
掉线的节点上重新部署
Pod
的指令后在发生
Pod
掉线的节点上重新部署
Pod
,并为重新部署的
Pod
的业务接口重新添加缺省路由;
S400
)网络恢复模块在监测到
Pod
重新部署完成后,跳转至步骤
S100
)继续执行

[0009]上述方法,在步骤
S100
)中,网络监测维护模块利用网络监测子模块通过如下步骤对
Pod
的业务接口网络连通性进行监测:
S101
)在
Pod
中检查用于表示
Pod IPv6
业务网络缺省网关的环境变量
IPV6_DEFAULT_GATEWAY
是否存在,如果存在,则跳转至步骤
S102
)执行,反之,则跳转至步骤
S103
)执行;
S102
)执行命令
ping6
ꢀ‑
c 1 $IPV6_DEFAULT_GATEWAY
,检测
Pod
业务接口网络连通性,如果网络监测子模块接收到
Pod IPv6
业务网络缺省网关返回的数据包,表示
Pod
业务接口网络连通性正常且检测成功,然后休眠
10
分钟后继续执行命令
ping6

c 1 $IPV6_DEFAULT_GATEWAY
以检测
Pod
业务接口网络连通性,反之,则表示
Pod
业务接口网络连通不正常且检测失败,休眠5秒后执行命令
ping6
ꢀ‑
c 1 $IPV6_DEFAULT_GATEWAY
以检测
Pod
业务接口网络连通性,并对检测失败次数进行计数,当连续检测失败次数小于或等于阈值时,则继续休眠5秒后执行命令
ping6
ꢀ‑
c 1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种网络连通性监测与恢复方法,其特征在于,用于对
Kubernetes
集群中具有一个或多个业务接口的
Pod
的业务接口网络连通性进行监测与恢复,包括如下步骤:
S100
)利用网络监测维护模块对
Pod
的业务接口网络连通性进行监测,当监测到
Pod
的业务接口掉线时,由网络监测维护模块向网络恢复模块发送恢复网络指令;
S200
)网络恢复模块接收到恢复网络指令之后,向部署改造模块发送在发生
Pod
掉线的节点上重新部署
Pod
的指令;
S300
)部署改造模块接收到在发生
Pod
掉线的节点上重新部署
Pod
的指令后在发生
Pod
掉线的节点上重新部署
Pod
,并为重新部署的
Pod
的业务接口重新添加缺省路由;
S400
)网络恢复模块在监测到
Pod
重新部署完成后,跳转至步骤
S100
)继续执行
。2.
根据权利要求1所述的方法,其特征在于,在步骤
S100
)中,网络监测维护模块利用网络监测子模块通过如下步骤对
Pod
的业务接口网络连通性进行监测:
S101
)在
Pod
中检查用于表示
Pod IPv6
业务网络缺省网关的环境变量
IPV6_DEFAULT_GATEWAY
是否存在,如果存在,则跳转至步骤
S102
)执行,反之,则跳转至步骤
S103
)执行;
S102
)执行命令
ping6
ꢀ‑
c 1 $IPV6_DEFAULT_GATEWAY
,检测
Pod
业务接口网络连通性,如果网络监测子模块接收到
Pod IPv6
业务网络缺省网关返回的数据包,表示
Pod
业务接口网络连通性正常且检测成功,然后休眠
10
分钟后继续执行命令
ping6
ꢀ‑
c 1 $IPV6_DEFAULT_GATEWAY
以检测
Pod
业务接口网络连通性,反之,则表示
Pod
业务接口网络连通不正常且检测失败,休眠5秒后执行命令
ping6
ꢀ‑
c 1 $IPV6_DEFAULT_GATEWAY
以检测
Pod
业务接口网络连通性,并对检测失败次数进行计数,当连续检测失败次数小于或等于阈值时,则继续休眠5秒后执行命令
ping6
ꢀ‑
c 1 $IPV6_DEFAULT_GATEWAY
以检测
Pod
业务接口网络连通性,而当连续检测失败次数大于阈值时,跳转步骤
S103
)继续执行;
S103
)获取
Pod
的名称并在
Kubernetes
集群
Etcd
数据库中根据该
Pod
的名称获取用于部署该
Pod

Deployment
对象,然后为该
Deployment
对象添加一个标签,键为“network

connectivity”,值为“abnormal”;
S104
)向网络恢复模块发送重新部署
Pod
的指令
。3.
根据权利要求2所述的方法,其特征在于,在步骤
S300
)中,在完成重新部署的
Pod
部署后,部署改造模块利用启动子模块通过如下步骤完成为重新部署的
Pod
的业务接口重新添加缺省路由的操作:
S310
)在重新部署的
Pod
的容器中检查用于表示多接口
Pod IPv6
业务网络缺省网关的环境变量
IPV6_DEFAULT_GATEWAY
是否存在,若不存在,则结束执行,反之,则跳转至步骤
S311
)继续执行;
S311
)在重新部署的
Pod
中检查
IPv6
缺省路由是否存在,若存在,则执行命令
ip

6 route del default
删除
IPv...

【专利技术属性】
技术研发人员:蒋驰陈南飞
申请(专利权)人:明阳产业技术研究院沈阳有限公司
类型:发明
国别省市:

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

1