前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flannel插件"Error registering network: failed to acquire lease"错误处理思路

Flannel插件"Error registering network: failed to acquire lease"错误处理思路

原创
作者头像
南非骆驼说大数据
发布2022-12-09 13:50:10
3.8K0
发布2022-12-09 13:50:10
举报
文章被收录于专栏:南非骆驼说大数据

一,前言|

在前面的章节中,我们安装了kubenetes集群,在使用flannel插件时,服务能正常应用,但是其下属pod一直显示"CrashLoopBackOff"状态,如何处理呢?

二,排查思路

Kubernetes 定义了 CNI 标准,有很多网络插件,这里我选择最常用的 Flannel,可以在它的 GitHub 仓库里

https://github.com/flannel-io/flannel/

应用完后,我这里检查pod的时候,提示如下信息:

Pod无法正常启动
Pod无法正常启动

CrashLoopBackOff 代表pod无法正常启动,一直在不停尝试,尝试多次后,就提示后端异常的情况

这种异常,我们可以通过kubectl describe /kubectl logs命令去排查

1,kubectl describe pod kube-flannel-ds-2x77z -n kube-flannel 看最后的events 关键信息

events 信息
events 信息

2,通过kubectl logs pod 定位一下原因,使用命令如下:

代码语言:javascript
复制
kubectl logs kube-flannel-ds-2x77z -n kube-flannel

报错如下:

代码语言:javascript
复制
] Error registering network: failed to acquire lease: subnet "10.244.0.0/16" specified in the flannel net config doesn't contain "10.10.0.0/24" PodCIDR of the "master" node

这里的意思是说,flannel.yml中有默认的ip网段,与用户初始化时定义的网段有出入,导致flannel无法识别。需要改一下flannel文件的ip定义。那我们去flannel.yml文件中,看看默认的ip定义。

检查master节点:

发现没有问题,再检查work节点,发现这里没改。那可能就是这个原因导致的pod服务异常

错误确认
错误确认

大致确认了原因,我们再修改一下,修改成自己的network-cidr.

修改完后,我们delete 原来的pod,再apply. 命令如下:

代码语言:javascript
复制
kubectl delete  -f kube-flannel.yml
kubectl apply -f kube-flannel.yml

查看pod进程。逐步开始初始化

随后,就好了。

这里,yaml格式也要注意一些标点符号,大小写应为格式等细节,否则也可能报一些格式错误

代码语言:javascript
复制
Failed to create SubnetManager: error parsing subnet config: invalid character '"' after object key:value pair

那么这样我们的系统pod,就都在线了。

代码语言:javascript
复制
watch -n1 kubectl get pods -A

那么这样,flannel插件的问题基本搞定,正常运转。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一,前言|
  • 二,排查思路
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档