无法创建 pod 沙盒 kubernetes 集群

Failed to create pod sandbox kubernetes cluster

我有一个编织网络插件。

在我的文件夹 /etc/cni/net.d 中有一个 10-weave.conf

{
"name": "weave",
"type": "weave-net",
"hairpinMode": true
}

我的编织 pods 是 运行ning 并且 dns pod 也是 运行ning 但是当我想要 运行 像一个简单的 nginx 那样的 pod 时,它会拉取一个 nginx 镜像 pod 卡在容器创建过程中,describe pod 给我错误,创建 pod 沙箱失败。

当我 运行 journalctl -u kubelet 我得到这个错误

cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d

是不是我的网络插件配置不好?

我使用这个命令来配置我的 weave 网络

kubectl apply -f https://git.io/weave-kube-1.6

在这不起作用之后我也尝试了这个命令

kubectl apply -f “https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d ‘\n’)”

我什至试过法兰绒,但它给了我同样的错误。 我正在设置 kubernetes 的系统是 raspberry pi。 我正在尝试使用 kubernetes

构建一个具有 3 个节点和 1 个主节点的 raspberry pi 集群

有人对此有想法吗?

查看pertinent code in Kubernetes and in CNI,您看到的具体错误似乎表明它在目录中找不到任何以.json.conf.conflist结尾的文件给出。

这让我觉得可能是因为 conf 文件没有出现在所有主机上,所以我会先验证一下。

谢谢大家回答我的问题。我现在解决了我的问题。对于以后遇到我的问题的任何人,解决方案如下。

我克隆了我的 raspberry pi 图像,因为我想要一个 basicConfig.img 用于当我需要向我的集群添加一个新节点或当一个节点出现故障时。

Weave 网络(我使用的插件)感到困惑,因为在每个节点和主节点上 os 具有相同的 machine-id。当我删除机器 ID 并创建一个新机器 ID(并重新启动节点)时,我的错误得到了修复。执行此操作的命令是

sudo rm /etc/machine-id sudo rm /var/lib/dbus/machine-id sudo dbus-uuidgen --ensure=/etc/machine-id

再一次考验我的耐心。因为我的kubernetes设置正常,我的raspberry pi os也正常。我在 kubernetes 社区的某个人的帮助下创立了这个。这再次向我们展示了 IT 社区的重要性和伟大。对于未来会遇到这个问题的人。我希望这个解决方案能够解决您的错误,并减少您搜索愚蠢的小东西的时间。