报错集------部署K8S负载均衡时,在node节点上访问nginx网页出现不了页面
报错现象:在master节点上查看pod网络获得IP后,在node节点上自带的浏览器中访问时出现不了nginx的页面1、获取pod网络的IP[root@master1 ~]# kubectl get pods -o wideNAMEREADYSTATUSRESTARTSAGEIPNODENOMINATED NODEnginx-dbddb74b8-fskqq1/1Ru
报错现象:
在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>
更多推荐
所有评论(0)