2017-10-09 39 views
1

我使用kubectl create -f file.yaml创建了豆荚。部署已成功创建,但Pod的状态显示为Pending。我也有我的本地存储库上的docker镜像,我正在创建该镜像。我不确定问题是什么。我使用kubernetes中的对象创建了豆荚,但豆荚的状态为“待定”

yaml文件如下。 ,我运行

yaml file

Kubernetes版本是1.1.6。

+0

请根据以下答案告诉我们'kubectl describe pod nginx-deployment'的输出。 – iamnat

+0

@iamnat我想我得到了错误。这是我得到的警告 - 警告FailedScheduling 20s(x22超过5m)默认调度程序没有可用于匹配所有谓词的节点:NodeUnderDiskPressure(1)。在哪里我必须指定节点并且不能在没有指定的情况下产生一个节点? – prasun

回答

0

仅仅从这些信息我不能推断出什么是错的。我能写的是如何帮助你解决这些问题。 kubectl describe pod __name_of_your_pod__ kubectl describe delpoyment nginx_deployment 我认为发生了什么,你可能没有cpu资源,没有节点或污点。

BTW 1.1.6 k8s很旧。考虑升级。

0

运行以下命令来获取豆荚

kubectl get pods --all-namespaces 

找到更多的信息,运行:

kubectl describe po <you-pod-name> 

,你应该能够得到从输出更多信息。主要是 1)图像仍然拉 2)资源紧缩或码头不运行

但错误/信息消息应带你前进。

+0

我想我得到了错误。这是我得到的警告 - 警告FailedScheduling 20s(x22超过5m)默认调度程序没有可用于匹配所有谓词的节点:NodeUnderDiskPressure(1)。在哪里我必须指定节点并且不能在没有指定的情况下产生一个节点? – prasun

0

您应该可以从Pod日志中获得更多信息。例如...在kubectl docs

kubectl logs --tail=100 nginx-deployment 

更多信息,或者,你可以打开一个控制台会话,并从容器本身解决。

kubectl get pods # To get actual pod name 
kubectl exec -it <POD_NAME>  

另一件事你可以尝试运行您的容器Kubernetes之外(使用docker run -p 80:80 nginx-deployment)只是为了确保您的应用程序运行正常,并响应等

您也可以尝试运行kubectl describe nodes。这可能会为您提供更多信息来解决问题。

+0

我想我得到了错误。这是我得到的警告 - 警告FailedScheduling 20s(x22超过5m)默认调度程序没有可用于匹配所有谓词的节点:NodeUnderDiskPressure(1)。在哪里我必须指定节点并且不能在没有指定的情况下产生一个节点? – prasun

+0

听起来像你有一些资源问题,或潜在的安装问题。尝试运行'kubectl describe节点'。这可能会指出您的问题。 – grizzthedj

+0

“Warning ImageGCFailed 2m(x179 over 1d)kubelet,127.0.0.1(由类似事件组合):想要释放21701052825字节,但释放了0字节空间,并在删除图像时出错:[rpc error:code = Unknown desc =错误响应从守护进程:冲突:无法删除eff0bf8ede91(必须强制) - 图像正在使用被停止的容器806316dc1e38“这是我得到的错误。你认为是什么问题? – prasun