K8s常见故障排查及解决方案

一. k8s集群频繁重启节点之后,可能会出现一下问题

1. 查看pod的信息时发现报错:open /run/flannel/subnet.env: no such file or directory

查看各个节点,包括master 节点是否有/run/flannel/subnet.env,内容应该是类似如下:

FLANNEL_NETWORK=10.244.0.0/16
FLANNEL_SUBNET=10.244.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true

若有节点没有该文件那就拷贝一份,再次进行部署,应该就不会报这个错了。

2. 部署服务,发现服务无法暴露,服务间调用不通

先执行ifconfig,查看下节点的网络情况。
在这里插入图片描述
会发现有两个网关,如果网络有问题,可以先看看两个的网络段是不是一致。

在部署K8s的时候,我使用的是flannel网络插件,也可以使用calico插件,但是都会出现频繁重启或者运行时间长了之后出现部署服务之后,无法发现服务的问题,可以采用以下方式试着解决。

建议:在生产场景中,建议提前规划好k8s的网络,如果中途更换网络插件,产生的影响会比较大。

重新部署网络插件,建议不要更换,还是用之前的插件,只需要重新部署下就行。

第一步,在master节点删除flannel
kubectl delete -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
第二步,在node节点清理flannel网络留下的文件
ifconfig cni0 down
ip link delete cni0
ifconfig flannel.1 down
ip link delete flannel.1
rm -rf /var/lib/cni/
rm -f /etc/cni/net.d/*

执行完上面的操作,重启kubelet,然后需要把之前部署的应用都重新启动一下,会发现服务已经可以发现了。也是一个小技巧,反正我的问题,得到了解决。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes (k8s)是一个用于容器编排和管理的开源平台,但在实际使用中可能会遇到一些常见的故障。以下是几个常见的k8s故障及其处理方法: 1. Pod无法启动或CrashLoopBackOff:这可能是由于应用程序错误、资源不足或配置问题引起的。您可以通过查看Pod的日志和事件来了解具体原因。修复方法可能包括修复应用程序错误、调整资源配额或修改配置文件。 2. 节点不可用:如果一个或多个节点无法正常工作,您可能会遇到服务中断的问题。您可以通过检查节点的状态、重启节点或替换故障节点来解决这个问题。另外,您可以使用副本控制器来确保Pod在其他可用节点上重新启动。 3. 网络问题:如果Pod无法相互通信或与外部服务通信,可能是由于网络配置错误、防火墙规则或网络故障引起的。您可以检查网络配置、检查防火墙规则并确保网络连接正常。 4. 存储问题:如果您使用了持久卷(Persistent Volume)并且无法访问存储,可能是由于存储配置错误、权限问题或存储故障引起的。您可以检查存储配置、修复权限问题或联系存储管理员来解决这个问题。 5. 资源耗尽:如果您的集群资源不足,可能会导致Pod无法启动或运行缓慢。您可以通过添加更多节点、调整资源配额或优化应用程序来解决这个问题。 这些只是一些常见的k8s故障和处理方法的示例。实际情况可能因您的环境和配置而异。在遇到故障时,建议您查看相关日志、事件和监控信息,以便更好地诊断和解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值