openshift 3.11 安装失败 - 无法更新 cni 配置:/etc/cni/net.d 中找不到网络”,

openshift 3.11 install fails - Unable to update cni config: No networks found in /etc/cni/net.d",

我正在尝试在一个主节点、一个工作节点设置上安装 Openshift 3.11。

安装失败,在journalctl -r:

中可以看到
2730 kubelet.go:2101] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
2730 cni.go:172] Unable to update cni config: No networks found in /etc/cni/net.d

我尝试过的事情:

  1. 重启主节点
  2. 确保 hostname 在所有节点上与 hostname -f 相同
  3. https://github.com/openshift/openshift-ansible/issues/7967#issuecomment-405196238 and https://linuxconfig.org/how-to-turn-on-off-ip-forwarding-in-linux
  4. 所述,在主节点上禁用 IP 转发
  5. 所述,在主节点上应用 kube-flannel
  6. unset http_proxy https_proxy 在主节点上,如 https://github.com/kubernetes/kubernetes/issues/54918#issuecomment-385162637
  7. 中所述
  8. /etc/resolve.conf 修改为 nameserver 8.8.8.8,如 https://github.com/kubernetes/kubernetes/issues/48798#issuecomment-452172710
  9. 中所述
  10. 创建了一个文件 /etc/cni/net.d/80-openshift-network.conf,内容为 { "cniVersion": "0.2.0", "name": "openshift-sdn", "type": "openshift-sdn" },如
  11. 中所述

最后一步似乎确实让主节点准备就绪,但是 ansible openshift 安装程序仍然失败并显示 Control plane pods didn't come up

有关问题的更详细描述,请参阅 https://github.com/openshift/openshift-ansible/issues/11874

连同第 6 步: 确保 hostname 和 hostname -f bot return 是您主机的 FQDN。

https://github.com/openshift/openshift-ansible/issues/10798

错误是使用了太新版本的 Ansible。

降级到 Ansible 2.6 解决了这个问题。