虚拟机挂起/重启后导致K8s网络不通或服务启动后主节点无法访问问题

这篇具有很好参考价值的文章主要介绍了虚拟机挂起/重启后导致K8s网络不通或服务启动后主节点无法访问问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境背景现象

3台linux服务器搭建的一个 kubeadm-k8s 的集群环境,(1 Master 2 Worker),  当断电或者虚拟机挂起恢复后出现 service 访问不了,pod之间ping不通或者集群搭建失败问题,但是K8s集群还是正常可以创建 deployment 以及调度 pod 到各个 node 上, 并且 node都处于 ready 的状态。

问题排查

1),查询服务pod状态

找到其中的 kube-flannel-xxx  和 coredns-xxx 是否正常

# kubectl get pods -ALL

 2),排查问题

#  查看 coredns-xxx 日志 
#  kubectl logs coredns-xxx  -n kube-system

#  查看 kube-flannel-xxx 日志 
#  kubectl logs kube-flannel-xxx -n kube-system

这时可能会看到如下 

[INFO] plugin/reload: Running configuration MD5 = db32ca3650231d74073ff4cf814959a7
CoreDNS-1.8.6
linux/amd64, go1.17.1, 13a9191
[ERROR] plugin/errors: 2 5782807611420449381.4040865981692797236. HINFO: read udp 10.244.1.33:37104->8.8.8.8:53: i/o timeout
[ERROR] plugin/errors: 2 5782807611420449381.4040865981692797236. HINFO: read udp 10.244.1.33:55737->8.8.8.8:53: i/o timeout
[ERROR] plugin/errors: 2 5782807611420449381.4040865981692797236. HINFO: read udp 10.244.1.33:49960->8.8.8.8:53: i/o timeout
failed to add vxlanRoute (10.244.0.0/24 -> 10.244.0.0): network is down
 
1 vxlan_network.go:198] failed to add vxlanRoute (10.244.1.0/24 -> 10.244.1.0): network is down

如上从日志可以看到是 flannel.1 网卡 或 cni0 网卡 问题。

1),方法一

可以先进行集群节点之间的物理ip进行测试 比如主节点ping从节点的物理ip 如果ping不能通,就是网卡问题 ,一般直接简单的方法可以直接 reboot 来重启虚拟机,

2),方法二

如果本身网络连接没问题,那么基本上就是flannel插件的问题了。看看node是不是缺少了flannel.1网络设备,输入ifconfig命令可看(可能会缺少cni0 或者  flannel.1 网段  或者其他虚拟机节点 ping 这两个网段却 ping 不通

k8scni0网卡没有启动,Linux部署,kubernetes,linux,运维,网络,容器

问题解决

(flannel的部署文件为master node的 ~/flannel/kube-flannel.yaml)有一个kube-flannel.yaml文件
首先,在master node执行命令:

#  kubectl delete -f kube-flannel.yaml

然后,在master node和所有worker node依次执行:

#  sudo ifconfig cni0 down
#  sudo ip link delete cni0
#  sudo ifconfig flannel.1 down
#  sudo ip link delete flannel.1
#  sudo rm -rf /var/lib/cni/flannel/*
#  sudo rm -rf /var/lib/cni/networks/cbr0/*
#  sudo rm -rf /var/lib/cni/cache/*
#  sudo rm -f /etc/cni/net.d/*
#  sudo systemctl restart kubelet
#  sudo systemctl restart docker
#  sudo chmod a+w /var/run/docker.sock


最后,在 master node 执行命令:

#  kubectl apply -f kube-flannel.yaml

按上述方法创建以后,再输入ifconfig命令,如果其有flannel.1,但是没有cni0(这个不算网络问题),那就在该node手动创建一个pod(保证在该node上运行)并且创建暴露该pod端点的service,cni0 网桥就会被 flannel 自动创建出来。文章来源地址https://www.toymoban.com/news/detail-721432.html

到了这里,关于虚拟机挂起/重启后导致K8s网络不通或服务启动后主节点无法访问问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • master节点上的nodeport端口不通(k8s踩坑)

    创建了一个nodeport类型的service,端口是80,按道理来说会在每个节点上开启80端口,但是发现master节点上没有开启80端口,node1、node2上均开启了80端口。 在 k8s 1.22.17 版本中已经无法使用 lsof -i:80 或netstat -lntup| grep 80 等方式查看service开启的nodeport端口了,但是我们可以使用teln

    2024年02月15日
    浏览(46)
  • 【故障排查】VMware挂起后恢复,k8s集群无法ping/curl通pod/svc/ingress

    一、master/node节点,去curl pod IP,一直卡着,没反应。timeout。 二、挂起恢复后,harbor服务无法正常访问503 ,需要重启harbor服务。 进容器curl localhost,是正常的。 而网络CNI 、flannel 、 coreDNS等都是running状态。 (发现restarts的次数有点多) .这里的metrics-server一直失败的。 可参考

    2023年04月17日
    浏览(43)
  • k8s重启服务(kubectl)

    How to Restart Kubernetes Pods With Kubectl Deployments

    2024年02月11日
    浏览(41)
  • k8s master组件无法重启

    1.案例 k8s的master组件出错,删掉pod重新拉起也无法正常启动 kubectl get pod -n kube-system  可以看到controller和scheduler组件都显示异常  kubectl describe pod kube-apiserver-k8s-master03 -n kube-system 通过describe查看组件容器的详细信息也并没有报错输出 kubectl delete pod kube-controller-manager-k8s-master0

    2024年02月09日
    浏览(43)
  • 【k8s问题定位】k8s中的pod不停的重启,定位问题原因与解决方法

    现象: running的pod,短时间内重启次数太多   定位问题方法: 查看pod日志 本次使用以下命令,解决了问题 问题原因: OOM,pod被kill掉,重启了( 内存不够用 )   查看该服务的deployment.yaml文件 发现我们deployment.yaml对服务的内存使用,做了限制 解决方法: 将limit的memory数值提高,然后

    2024年02月09日
    浏览(58)
  • K8S deployment 重启的三种方法

    一般重启deployment,常规操作是删掉对应的pod, 但如果有多个副本集的话,一个个删很麻烦。 除了删除pod,还可以: PS: rollout restart需要集群版本大于1.15才能支持 以上重启方法均会生成Replicasets(副本集), 可通进行回滚:

    2024年02月14日
    浏览(59)
  • 云原生Kubernetes:K8S集群各组件服务重启

    目录 一、理论 1.各组件服务重启命令 (1)Master节点+Node节点共同服务 (2)Master节点独有服务 (3)Node节点独有服务

    2024年02月03日
    浏览(48)
  • K8s集群重启与恢复-Master节点启停

    1 应用场景 场景 :在实际工作中,可能某个 Master 节点需要维护,迁移,我们需要平滑的停止、启动该节点,尽量减少启停中对集群造成的影响 注意 : 为了确保 K8s 集群能够安全恢复,请在操作前对 K8s 数据进行备份 为了确保重启 Master 节点期间 K8s 集群能够使用,集群中

    2023年04月08日
    浏览(46)
  • 重启某个节点、重启电脑服务器后,kubernetes无法运行,k8s无法运行

    环境:ubuntu18.04 LTS 现象:按步骤安装kubernetes后,正常启动,各个命令均可正常使用。服务器重启后,执行命令错误信息如下: The connection to the server 127.0.0.1:6443 was refused - did you specify the right host or port? 排查防火墙设置 查看端口是否打开 如果无法连接,可以关闭防火墙 重新

    2024年02月05日
    浏览(59)
  • 关于k8s的pod不断重启的原因分析

    k8s全称:Kubernetes 1、k8s是什么 Kubernetes 是一个全新的基于容器技术的分布式架构解决方案,是 Google 开源的一个容器集群管理系统,Kubernetes 简称 K8S。 Kubernetes 是一个一站式的完备的分布式系统开发和支撑平台,更是一个开放平台,对现有的编程语言、编程框架、中间件没有

    2024年02月07日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包