【问题标题】:Pods failed to start after switch cni plugin from flannel to calico and then flannel将 cni 插件从 flannel 切换到 calico 然后 flannel 后 Pod 无法启动
【发布时间】:2019-05-22 20:53:01
【问题描述】:

我使用 cni 插件 flannel 从 kubeadm 安装 kubernetes v1.11.5,一切正常。但是我在尝试切换到 calico 后发现跨机 pod 通信中断。所以我换回法兰绒。但是在创建 pod 时出现错误消息:

看来我需要重置 cni 网络?但我不知道如何解决这个问题。

我的法兰绒和印花布安装遵循 kubeadm instruction 零配置更新。

【问题讨论】:

  • 这看起来像是两个不同插件之间的冲突。很多事情可能会出错。我想在这种情况下最简单的解决方案是:从头开始设置新的 CNI
  • 你需要清除 cni。印花布和法兰绒使用不同的 cidr。如何消灭,cnblogs.com/jiuchongxiao/p/8942080.html。内容为中文。我尝试了命令,对我来说没问题。

标签: kubernetes kubeadm flannel calico


【解决方案1】:

我使用以下步骤从没有 kubeadm reset 的 kubernetes 中删除旧的 calico 配置:

  1. 清除ip路由:ip route flush proto bird
  2. 删除所有节点中的所有calico链接ip link list | grep cali | awk '{print $2}' | cut -c 1-15 | xargs -I {} ip link delete {}
  3. 移除ipip模块modprobe -r ipip
  4. 删除印花布配置rm /etc/cni/net.d/10-calico.conflist && rm /etc/cni/net.d/calico-kubeconfig
  5. 重启kubeletservice kubelet restart

在这些步骤之后,所有正在运行的 pod 都将无法连接,那么我必须删除所有 pod,然后所有 pod 才能正常工作。如果您使用replicaset,这会产生一些影响。

【讨论】:

  • 你是我的救星
猜你喜欢
  • 1970-01-01
  • 2019-04-10
  • 2019-04-06
  • 2020-01-22
  • 2018-02-26
  • 1970-01-01
  • 2018-03-06
  • 2021-11-14
  • 1970-01-01
相关资源
最近更新 更多