【问题标题】:kubeadm : Cannot get nodes with Ready statuskubeadm:无法获取就绪状态的节点
【发布时间】:2020-04-08 05:41:34
【问题描述】:

我有一个集群,在树莓派上有 1 个主节点和 1 个节点

我的问题是我无法进入就绪状态:

root@master:~# kubectl 获取节点

名称状态角色年龄版本

master NotReady master 37m v1.17.0

raspberrypi NotReady 36m v1.17.0

当我运行时:kubectl 获取节点

我有:

Ready False 2019 年 12 月 15 日星期日 15:48:11 +0100 15 日星期日 2019 年 12 月 15:07:12 +0100 KubeletNotReady 运行时网络 未准备好:NetworkReady=false 原因:NetworkPluginNotReady 消息:docker:网络插件未准备好:cni 配置未初始化。 警告:不支持 CPU 硬封顶

还有:journalctl -u kubelet

Dec 15 15:46:40 master kubelet[19152]: E1215 15:46:40.651863 19152 kubelet.go:2183] 容器运行时网络未准备好: NetworkReady=false 原因:NetworkPluginNotReady 消息:docker:netw 12 月 15 日 15:46:42 master kubelet[19152]: W1215 15:46:42.602430 19152 cni.go:237] 无法更新 cni 配置:在 /etc/cni/net.d 中找不到网络

但是文件/etc/cni/net.d

不存在

正在努力让我的集群正常工作,有人可以帮忙解决问题吗?

谢谢

【问题讨论】:

  • 请尝试使用不同的网络插件。试试印花布或法兰绒

标签: kubernetes kubeadm


【解决方案1】:

尝试安装像Calico 这样的网络插件。见here

虽然我会在 RaspberryPi 上安装 k3s,因为它比 Kubernetes 更轻量级。

编辑:

要安装 weave-net,请使用: kubectl apply -f https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d ‘\n’)

【讨论】:

  • 谢谢塞德里克。抱歉,我没有提到我还安装了印花布。我不明白的是文件 /etc/cni/net.d 不存在,尽管它已成功安装。当我重新安装 calico 时,我得到:无法更新 cni 配置:在 /etc/cni/net.d 中找不到网络
  • @user1361815 好的。 Calico 似乎没有“arm64”图像,因此它不适用于 RPI。尝试安装weave-net
  • 是的,根据这个github问题github.com/projectcalico/calicoctl/issues/1475目前在Calico项目中不支持arm/arm64架构,所以@Cedric建议尝试另一个 CNI 解决方案。
猜你喜欢
  • 1970-01-01
  • 2018-11-18
  • 1970-01-01
  • 2018-06-03
  • 1970-01-01
  • 2021-07-10
  • 2019-06-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多