今天查看k8s集群的状态发现, calico-node的status是CrashLoopBackOff 。 于是各种查找资料, 现在把解决方法记下。
在这里插入图片描述

查看日志

其实k8s的日志记录十分详细,只要查看下日志结合搜索引擎, 很快就能知道问题,

查看问题pod的日志:

 kubectl logs -f -n kube-system calico-node-wzmz5   -c calico-node

这个命令的日志信息很长, 很多。 直接拉到底部查看最新的日志。

在这里插入图片描述
日志中已经说了, linux系统内核的RPF设置成 loose, Calico 需要net.ipv4.conf.all.rp_filter 变量设置值成0或者1 。 如果你不需要把RPF 设置成 loose,你可以在设置k8s的IgnoreLooseRPF 参数为true。

从日志中可以看出有两种解决办法, 一种是:

  • 设置net.ipv4.conf.all.rp_filter 参数
  • 一种是忽略RPF设置

设置net.ipv4.conf.all.rp_filter 参数

由于我对linux 不太熟悉, 于是去搜索了下。
在这里插入图片描述
图中命令的意思是在文件/etc/sysctl.conf 中加上两行后,重新加载下sysctl

net.ipv4.conf.all.rp_filter=1
net.ipv4.ip_forward=1

于是我照做后, 查看集群的状态。 这里有点注意,修改配置后需要等待一段时间, 才会回复, 从图中可以看到出问题后, calico已经被k8s重启了282次了, 在我修改好配置后,在283次重启后才回复正常。
在这里插入图片描述

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐