Kubernetes kubadm初始化错误CPU 1小于所需的2

Kubernetes kubadm初始化错误CPU 1小于所需的2,kubernetes,nodes,cpu,kubeadm,Kubernetes,Nodes,Cpu,Kubeadm,谁能帮我解决这个错误。我一直遵循不同的链接在centos 7中安装Kubernetes,当我运行kubadm init命令时,我不断遇到这个错误 [ERROR NumCPU]: the number of available CPUs 1 is less than the required 2 我不太清楚这意味着什么。我将从节点IP放在/etc/hosts/file中。我应该做些别的事吗。可能会将节点添加到配置文件???以下是我遵循的链接和步骤 Kubeadm在

谁能帮我解决这个错误。我一直遵循不同的链接在centos 7中安装Kubernetes,当我运行kubadm init命令时,我不断遇到这个错误

[ERROR NumCPU]: the number of available CPUs 1 is less than the required 2               
我不太清楚这意味着什么。我将从节点IP放在/etc/hosts/file中。我应该做些别的事吗。可能会将节点添加到配置文件???以下是我遵循的链接和步骤


Kubeadm在进行更改之前运行一系列飞行前检查,以验证系统状态。此错误意味着主机没有2个CPU的最低要求。如果仍要继续并在此主机上安装kubernetes,则可以忽略该错误

kubeadm init --ignore-preflight-errors=NumCPU

发生这种情况的原因是,安装Kubernetes的硬件没有足够的资源。Kubernetes社区的开发人员一致认为,使用少于2个CPU核运行Kubernetes是不可取的

这是因为为了运行Kubernetes,您必须考虑一定数量的开销。而且,在这样做时,如果您的系统具有非常小的计算能力,您将无法同时正确运行应用程序

@Arghya是对的。在安装软件之前,您可以通过忽略评估硬件功能的飞行前检查来避免这种情况。然而,由于我上面的解释,这是不可取的

如果您想进一步了解CPU核心与Kubernetes和Linux容器的关系,这里有一些非常好的文档。简而言之,Linux容器实际上是一个进程,它被称为内核,与操作系统的其余部分隔离开来。此外,这个过程可能会有一些限制或要求,这些限制或要求是围绕着它可以使用的内存和cpu数量设置的

在Kubernetes中运行时,Kubernetes API服务器会根据工作节点上的可用资源在其上调度POD。例如,如果一个Pod需要
200m
的CPU,那么您就已经将20%的硬件分配给了在其上运行的单个进程。查看这会对运行软件所需的开销产生多大影响?库伯内特斯自己准备了半打豆荚,只是为了跑。所有这些都有指定的CPU限制和请求


如果您想了解有关如何将CPU资源应用于Linux cGroup的容器化进程的更多信息,这是一个很好的文档。

您也可以忽略错误输出中提到的此错误

飞行前]运行飞行前检查 [警告IsDockerSystemdCheck]:检测到“cgroupfs”作为Docker cgroup驱动程序。推荐的驱动程序为“systemd”。请按照以下指南操作: 执行阶段预飞时出错:[预飞]发生了一些致命错误: [错误NumCPU]:可用CPU 1的数量小于所需的2 [preflight]如果您知道自己在做什么,可以使用
--忽略飞行前错误=…
要查看此错误的堆栈跟踪,请使用--v=5或更高值执行

如果您没有太多的CPU可供使用,那么继续吧,您可以拥有一个集群,但您将面临一些问题。否则,在主节点上至少分配2个CPU,以便顺利工作


谢谢

,因为错误提示您至少需要2CPU才能运行k8s群集。我建议使用Vagrant提供虚拟机。您可以按照本指南进行操作——在Digital Ocean单CPU实例上进行LFD259实验室练习,我需要继续安装K8s。这个命令对我有效。当然,我不会考虑生产环境。