You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubespray部署K8s集群后calico相关Pod CrashLoopBackOff故障求助

问题根因

问题核心原因是Calico节点IP自动探测失败,你之前尝试的can-reach参数指定的都是公网地址,而你的环境公网访问受限,探测失败后Calico无法正常注册节点信息,confd组件无法生成BIRD配置文件,导致BGP后端进程启动失败,最终所有Calico组件异常。另外CentOS7默认的SELinux、遗留iptables规则也可能会阻止Calico写入配置文件、跨节点通信。

排查步骤

  • 首先查看calico-node的confd容器日志确认错误:
kubectl logs -n kube-system <calico-node Pod名称> -c confd

正常情况下会返回连接datastore失败或者拉取配置失败的报错。

  • 检查所有节点的SELinux状态和iptables规则:
# 检查SELinux
getenforce
# 检查Calico所需端口是否被拦截
iptables -L -n | grep -E '(179|4789|5473)'
  • 检查Calico IP池是否正常创建:
calicoctl get ippools -o wide

如果无返回结果,说明IP池部署阶段未正常提交到集群。

解决方法

方案1:修改Kubespray配置重新部署(推荐,新集群无业务适用)

  1. 编辑集群配置文件inventory/mycluster/group_vars/k8s_cluster/k8s-net-calico.yml,添加以下参数:
# 直接指定节点所在网段,避免公网探测
calico_ip_auto_method: "cidr=192.168.231.0/24"
# 可选:如果不需要BGP能力,改为VXLAN模式降低复杂度
calico_network_backend: "vxlan"
calico_vxlan_mode: "Always"
  1. 仅重新执行集群网络部署步骤:
ansible-playbook -i inventory/mycluster/hosts.yaml cluster.yml --tags=network

方案2:手动修复现有集群

  1. 所有节点执行以下命令关闭SELinux、清理遗留iptables规则:
# 临时关闭SELinux
setenforce 0
# 永久关闭SELinux
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
# 清理iptables规则
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
# 重启容器运行时
systemctl restart docker
  1. 正确配置Calico节点IP自动探测规则:
kubectl set env daemonset/calico-node -n kube-system IP_AUTODETECTION_METHOD=cidr=192.168.231.0/24
  1. 手动创建Calico默认IP池,创建ippool.yaml文件:
apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
  name: default-ipv4-ippool
spec:
  # 与Kubespray配置的Pod网段保持一致,默认是10.233.64.0/18
  cidr: 10.233.64.0/18
  vxlanMode: Always
  natOutgoing: true

执行提交:

calicoctl apply -f ippool.yaml
  1. 重启所有Calico相关Pod:
kubectl delete pod -n kube-system -l k8s-app=calico-node
kubectl delete pod -n kube-system -l k8s-app=calico-kube-controllers

等待3-5分钟后执行kubectl get pods -n kube-system查看Calico组件状态,即可恢复正常。

内容的提问来源于stack exchange,提问作者HoseinGhanbari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 17:54:02