首页 文章

在Kubernetes从属节点中运行的Pod处于ContainerCreating状态

提问于
浏览
2

我成功地设置了Kubernetes大师 . 我通过安装Docker和kubelet(使用kubeadm)创建了Kubernetes从属节点 . 运行join命令后,从属节点将加入群集 . 我能够从主节点验证 . 但是在从属节点中部署的pod总是处于ContainerCreating状态 . Apart from docker and kubelet is there anything else needs to be installed in slave node ??

kubectl的状态显示来自运行时服务的remote_runtime.go:RunPodSandBox失败:rpc错误:code = DeadlineExceeded

感谢您的帮助 .

1 回答

  • 0

    在这种情况下,我通常会通过使用以下命令检查kube-system名称空间中pod的状态来开始对集群进行故障排除:

    $ kubectl get pods --all-namespaces -o wide
    

    在每个节点上应该有几个与网络相关的pod,例如:

    NAMESPACE     NAME                    READY     STATUS    RESTARTS   AGE       IP               NODE
    kube-system   calico-node-2rpns       2/2       Running   0          2h        10.154.0.5       kube-node1
    kube-system   calico-node-cn6cl       2/2       Running   0          2h        10.154.0.6       kube-master
    kube-system   calico-node-fr7v5       2/2       Running   1          2h        10.154.0.7       kube-node2
    

    全套网络容器取决于使用Kubernetes网络解决方案 .

    接下来,我检查是否有一些处于“未就绪”状态的窗格并检查描述中的错误:

    $ kubectl describe pod not-ready-pod-name
    

    如果存在与图像拉取或容器创建相关的错误,请检查节点上的kubelet日志以获取更多详细信息:

    $ journalctl -u kubelet
    

    或尝试手动拉取图像以确保图像可用并可以拉出:

    $ docker pull <image>
    

    如果pod有很多重启,我会去检查pod的容器日志:

    $ kubectl logs ${POD_NAME} ${CONTAINER_NAME}
    

    或以前崩溃的容器的日志:

    $ kubectl logs --previous ${POD_NAME} ${CONTAINER_NAME}
    

    我的后续步骤取决于之前的结果 .

    如果您将结果添加到问题中,则可以告诉您有关该案例的更多信息 .

相关问题