Pod的状态始终为ContainerCreating。。活动显示“创建Pod沙箱失败”

use*_*B13 5 kubernetes

我正在尝试在具有一个主节点和两个工作节点的K8s集群上创建部署。集群在3个AWS EC2实例上运行。我一直在使用这种环境玩Kubernetes。三天后,我已经开始看到所有豆荚状态更改为ContainerCreatingRunning。只有计划在主服务器上的Pod显示为Running。在工作程序节点上运行的Pod显示为ContainerCreating。当我运行时kubectl describe pod <podname>,它在事件中显示以下内容

 Events:
  Type     Reason                  Age   From                      Message
  ----     ------                  ----  ----                      -------
  Normal   Scheduled               34s   default-scheduler         Successfully assigned nginx-8586cf59-5h2dp to ip-172-31-20-57
  Normal   SuccessfulMountVolume   34s   kubelet, ip-172-31-20-57  MountVolume.SetUp succeeded for volume "default-token-wz7rs"
  Warning  FailedCreatePodSandBox  4s    kubelet, ip-172-31-20-57  Failed create pod sandbox.
  Normal   SandboxChanged          3s    kubelet, ip-172-31-20-57  Pod sandbox changed, it will be killed and re-created.
Run Code Online (Sandbox Code Playgroud)

这个错误现在困扰着我。我试图在网上搜索有关的错误,但是我没有得到任何具体的信息。我在包含主节点和工作节点的群集上进行了kubeadm重置,然后再次启动了群集。节点状态显示为就绪。但是,每当尝试使用以下命令创建部署时,我都会再次遇到相同的问题:

kubectl run nginx --image=nginx --replicas=2
Run Code Online (Sandbox Code Playgroud)

Jon*_*han 6

如果您在内存上指定了限制或请求,并使用了错误的单位,则会发生这种情况。

下面触发了消息:

resources:
   limits:
      cpu: "300m"
     memory: "256m"
   requests:
     cpu: "50m"
     memory: "64m"
Run Code Online (Sandbox Code Playgroud)

正确的行是:

resources:
   limits:
      cpu: "300m"
     memory: "256Mi"
   requests:
     cpu: "50m"
     memory: "64Mi"
Run Code Online (Sandbox Code Playgroud)


frb*_*rbl 1

可能是其他人,但我花了一个周末,直到我注意到我请求了 1000 mem,而不是 1000Mi...