网上的文章都是介绍,在 k8s 中部署时的解决方案:如下
calico报错Calico requires net.ipv4.conf.all.rp_filter to be set to 0 or 1
calico报错:

 int_dataplane.go 1018: Kernel's RPF check is set to 'loose'. This would allow endpoints to spoof their IP address. Calico requires net.ipv4.conf.all.rp_filter to be set to 0 or 1. If you require loose RPF and you are not concerned about spoofing, this check can be disabled by setting the IgnoreLooseRPF configuration parameter to 'true'.

解决方法:

kubectl -n kube-system set env daemonset/calico-node FELIX_IGNORELOOSERPF=true 

而我是通过 docker 直接去装 Calico 的,以上方法行不通;

仔细看报错中,有两处提示

  • Calico requires net.ipv4.conf.all.rp_filter to be set to 0 or 1.
  • setting the IgnoreLooseRPF configuration parameter to 'true

网上大部分解决方案即为第二种方案(如上文)。

既然第二种行不通,直接用第一种修改 内核参数,应该同样能解决问题,执行如下命令

sysctl net.ipv4.conf.all.rp_filter=0

问题解决

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐