![](/img/trans.png)
[英]FailedScheduling <unknown> default-scheduler 0/1 nodes are available: 1 node(s) were unschedulable
[英]kube-system: Pod Warning FailedScheduling default-scheduler no nodes available to schedule pods
为什么我得到:
kube-system 1m 1h 245 kube-dns-fcd468cb-8fhg2.156899dbda62d287 Pod Warning FailedScheduling default-scheduler no nodes available to schedule pods
更新-我现在将整个集群迁移到us-west-2
而不是eu-west-1
因此我可以立即运行代码以防止引入任何错误。 tfstate
文件显示正在引用正确的EKS AMI。
例如
720: "image_id": "ami-00c3b2d35bddd4f5c",
FWIW,我遵循https://www.terraform.io/docs/providers/aws/guides/eks-getting-started.html,并使用在Github中链接到的代码-即https:// github。 com / terraform-providers / terraform-provider-aws / tree / master / examples / eks-getting-started
注意:在EC2实例中,我可以看到2个以正确的AMI ID运行的EKS节点。
====更新
检查节点:
kubectl get nodes
No resources found.
ssh进入节点之一并运行journalctl
显示:
Nov 21 12:28:25 ip-10-0-0-247.us-west-2.compute.internal kubelet[4417]: E1121 12:28:25.419465 4417 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461: Failed to list *v1.Node: Unauthorized
Nov 21 12:28:25 ip-10-0-0-247.us-west-2.compute.internal kubelet[4417]: E1121 12:28:25.735882 4417 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452: Failed to list *v1.Service: Unauthorized
Nov 21 12:28:26 ip-10-0-0-247.us-west-2.compute.internal kubelet[4417]: E1121 12:28:26.237953 4417 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list *v1.Pod: Unauthorized
Nov 21 12:28:26 ip-10-0-0-247.us-west-2.compute.internal kubelet[4417]: W1121 12:28:26.418327 4417 cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
Nov 21 12:28:26 ip-10-0-0-247.us-west-2.compute.internal kubelet[4417]: E1121 12:28:26.418477 4417 kubelet.go:2130] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: n
鉴于Auth可能是一个问题,我检查了Terraform代码,这似乎是正确的。 例如:
有什么办法我可以更详细地测试吗? 还是有其他建议?
我猜您在群集上没有注册任何节点。 仅仅因为EC2节点没有启动,并不意味着您的集群能够使用它们。 您可以通过以下方式进行检查:
$ kubectl get nodes
另一种可能性是您的节点可用,但它们没有足够的资源(这不太可能)。
另一种可能性是您的节点受到以下污染:
$ kubectl taint node node1 key=value:NoSchedule
您可以检查并删除它:
$ kubectl describe node node1
$ kubectl taint node node1 key:NoSchedule-
另一种可能性是,您的Pod规格中包含nodeSelector
,并且没有使用该节点选择器标记的节点。 检查:
$ kubectl get nodes --show-labels
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.