报错集------部署K8S负载均衡时,在node节点上访问nginx网页出现不了页面

本文讲述了作者在master节点上配置Pod后,另一node节点访问失败的问题,通过排查发现网卡丢失和flannel IP变化导致通信障碍。文章详细介绍了解决过程,包括网络恢复、flannel重新部署等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错现象:
在master节点上查看pod网络获得IP后,在node节点上自带的浏览器中访问时出现不了nginx的页面

1、获取pod网络的IP

[root@master1 ~]# kubectl get pods -o wide
NAME                    READY   STATUS    RESTARTS   AGE    IP            NODE             NOMINATED NODE
nginx-dbddb74b8-fskqq   1/1     Running   1          157m   172.17.63.2   192.168.200.40   <none>

2、在对应网段的node节点上可以访问,但是在另外一台Node节点上访问不了。按照之前做的flannel网络,两个节点之间是可以ping通的,所以按照逻辑是可以在另外一台node节点上进行nginx网页的访问的

解决思路:
1、因为之前我的这台不能访问nginx网页的node节点的network网卡丢失了。我使用一下命令将网卡找回:

service NetworkManager stop       #关闭 NetworkManger 服务
chkconfig NetworkManager off      #永久关闭 Manager网卡
service network restart           #重启network网卡

2、我就在思考,是不是因为网卡重新找回了,导致相关联的flannel网桥产生了变化,此时我使用systemctl status flannel命令查看flannel的状态,发现已经done掉了。此时我重新启动了flannel、network与docker,使flannel重新恢复到active状态,但是还是在该节点上不能访问nginx网页。

3、然后我使用ip a命令查看了该出错节点的ip,发现flannel 的ip和之前首次获取时的ip不一致了。所以我得出结论:网卡丢失以后使用命令重新找回网卡后,导致之前分配的flannel的ip产生了变化,重新分配了一个新的ip,但是另外 一个正常的node的ip还是之前分配的ip,没有变化,导致两个节点之间不能进行正常的通信。
4、为了验证我上面的猜想,我在node1节点上使用ping 命令ping node2节点的flnnel的ip,发现确实是已经ping不通了。说明我的结论是正确的。
5、此时解决以上问题就是将K8S中flannel部分再重新在所有节点上重新部署一遍。部署详细命令可以参考之前写的博客《简单易懂的Kubernetes(K8S)单节点二进制部署详细步骤》博客链接
以下为我操作解决错误时使用的命令:

1、开启flannel网络功能(所有节点)

[root@localhost ~]# bash flannel.sh https://192.168.200.10:2379,https://192.168.200.40:2379,https://192.168.200.60:2379

2、重启docker服务(所有节点)

systemctl daemon-reload
systemctl restart docker

3、测试ping通对方docker0网卡 证明flannel起到路由作用

[root@node1 ~]# ping 172.17.86.1
PING 172.17.86.1 (172.17.86.1) 56(84) bytes of data.
64 bytes from 172.17.86.1: icmp_seq=1 ttl=64 time=0.513 ms
64 bytes from 172.17.86.1: icmp_seq=2 ttl=64 time=0.324 ms

4、查看状态

[root@master1 ~]#  kubectl get pods
NAME                    READY   STATUS              RESTARTS   AGE
nginx-dbddb74b8-fskqq   0/1     ContainerCreating   0          21s

[root@master2 cfg]# kubectl get pods
NAME                    READY   STATUS    RESTARTS   AGE
nginx-dbddb74b8-fskqq   1/1     Running   0          56s

5、查看pod网络

[root@master1 ~]# kubectl get pods -o wide
NAME                    READY   STATUS    RESTARTS   AGE    IP            NODE             NOMINATED NODE
nginx-dbddb74b8-fskqq   1/1     Running   1          157m   172.17.63.2   192.168.200.40   <none>

6、在对应网段的node节点上操作可以直接访问

[root@node1 ~]# curl 172.17.63.2
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值