kube-system: Pod Warning FailedScheduling default-scheduler Нет доступных узлов для планирования модулей - PullRequest
0 голосов
/ 19 ноября 2018

Почему я получаю:

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 узла EKS, работающих с правильными идентификаторами AMI.

==== ОБНОВЛЕНИЯ

Проверка узлов:

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, который кажется правильным.Например:

https://github.com/terraform-providers/terraform-provider-aws/blob/master/examples/eks-getting-started/outputs.tf#L9-L20

В любом случае, я могу проверить это немного подробнее?Или какие-либо дополнительные предложения?

1 Ответ

0 голосов
/ 20 ноября 2018

Я предполагаю, что в вашем кластере нет зарегистрированных узлов.То, что узлы EC2 не работают, не означает, что ваш кластер может их использовать.Вы можете проверить с помощью:

$ kubectl get nodes

Другая возможность состоит в том, что ваши узлы доступны, но у них недостаточно ресурсов (что маловероятно).

Другая возможность состоит в том, что ваши узлы испорченыс чем-то вроде этого:

$ kubectl taint node node1 key=value:NoSchedule

Вы можете проверить и удалить его:

$ kubectl describe node node1
$ kubectl taint node node1 key:NoSchedule-

Другая возможность состоит в том, что у вас есть nodeSelector в вашей спецификации модуля иу вас нет узлов, помеченных этим селектором узлов.Сверьтесь с:

$ kubectl get nodes --show-labels
...