思路:找到pod在宿主机上对应的网卡,禁用网卡
1.查看pod内网卡名称以及pod在宿主机上网卡对应的序号
[root@k8smaster173 ~]# kubectl get pod -n default -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
mysqlha-sample-172-16-23-11 5/5 Running 5 39d 172.16.23.11 k8snodexx <none> <none>
mysqlha-sample-172-16-23-12 5/5 Running 0 39d 172.16.23.12 k8snodemm <none> <none>
[root@k8smasterxx~]# kubectl exec -ti -n default mysqlha-sample-172-16-23-11 bash
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl kubectl exec [POD] -- [COMMAND] instead.
Defaulting container name to mysql.
Use 'kubectl describe pod/mysqlha-sample-172-16-23-11 -n default' to see all of the containers in this pod.
#(如果有,使用此命令就可以),查看pod 内网卡的设备
root@mysqlha-sample-172-16-23-11:/# ifconfig
bash: ifconfig: command not found
root@mysqlha-sample-172-16-23-11:/# ifconfig
bash: ifconfig: command not found
#在pod中执行如下命令,查看pod 在宿主机上网卡对应的序号
root@mysqlha-sample-172-16-23-11:/# cat /sys/class/net/eth0/iflink
15
root@mysqlha-sample-172-16-23-11:/#
2.根据pod 在宿主机上网卡对应的序号,找到其对应的网卡
如下网卡序号后面的字符串就是网卡的名
15: cali2bbe523b616@if4 网卡名称为:cali2bbe523b616
#登录到pod所在node上,找到步骤1查询到的网卡序号对应的网卡
[root@k8smaster173 ~]# ssh k8snode70
Last login: Wed Aug 21 06:12:02 2024 from k8snode73
[root@k8snodexx ~]#
[root@k8snodexx ~]# ip a |grep "15: " -A 5
15: cali2bbe523b616@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1440 qdisc noqueue state UP group default
link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 7
inet6 fe80::ecee:eeff:feee:eeee/64 scope link
valid_lft forever preferred_lft forever
17: cali066a8098287@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1440 qdisc noqueue state UP group default
link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 4
3.在宿主机上禁用/启用pod 对应的网卡
ip line set <网卡接口> down
在宿主机上启用pod 对应的网卡
ip line set <网卡接口> down
参考:https://blog.youkuaiyun.com/ss810540895/article/details/132345449
1310

被折叠的 条评论
为什么被折叠?



