В AWS EKS нет доступных узлов

Я пытаюсь настроить кластер AWS EKS и следую инструкциям в https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html. Но, пытаясь настроить приборную панель, я понял, что у меня нет узлов и я не знаю почему.

Да, я убедился, что стек CloudFormation для моих узлов имеет точное имя моего кластера EKS, и применил aws-auth-cm.yaml со стеками NodeInstanceRole.

Аналогичный вопрос возник здесь Amazon Kubernetes AWS-EKS не создается должным образом или не синхронизируется с kubectl, но там нет полезной информации.

Вот некоторая информация:

$ kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   <IP>         <none>        443/TCP   11d

$ kubectl get all --namespace=default
NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   <IP>         <none>        443/TCP   11d

$ kubectl get nodes --namespace=kube-system
No resources found.

get nodes дает No resources found для любого из имеющихся у меня пространств имен: kube-system, kube-public или default.

$ kubectl get all --namespace=kube-system
NAME                                        READY     STATUS    RESTARTS   AGE
pod/heapster-7ff8d6bf9f-qv56t               0/1       Pending   0          44m
pod/kube-dns-69ff9fcd66-ls9w7               0/3       Pending   0          11d
pod/kubernetes-dashboard-669f9bbd46-xthpq   0/1       Pending   0          45m
pod/monitoring-influxdb-cc95575b9-qjk4r     0/1       Pending   0          44m

NAME                           TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
service/heapster               ClusterIP   <IP>             <none>        80/TCP          44m
service/kube-dns               ClusterIP   <IP>             <none>        53/UDP,53/TCP   11d
service/kubernetes-dashboard   ClusterIP   <IP>             <none>        443/TCP         45m
service/monitoring-influxdb    ClusterIP   <IP>             <none>        8086/TCP        44m

NAME                                            DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/aws-node                         0         0         0         0            0           <none>          11d
daemonset.apps/kube-proxy                       0         0         0         0            0           <none>          11d
daemonset.apps/nvidia-device-plugin-daemonset   0         0         0         0            0           <none>          34m

NAME                                   DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/heapster               1         1         1            0           44m
deployment.apps/kube-dns               1         1         1            0           11d
deployment.apps/kubernetes-dashboard   1         1         1            0           45m
deployment.apps/monitoring-influxdb    1         1         1            0           44m

NAME                                              DESIRED   CURRENT   READY     AGE
replicaset.apps/heapster-7ff8d6bf9f               1         1         0         44m
replicaset.apps/kube-dns-69ff9fcd66               1         1         0         11d
replicaset.apps/kubernetes-dashboard-669f9bbd46   1         1         0         45m
replicaset.apps/monitoring-influxdb-cc95575b9     1         1         0         44m

ОБНОВИТЬ:

После того, как я отправил вызов API Kubernetes из моего бэкэнда для запуска некоторых модулей, я получил следующий результат (kubectl get jobs похоже), но фактические экземпляры по-прежнему не запускаются, и задания никогда не выполняются.

$ kubectl get svc
kubernetes                                      ClusterIP   <IP>     <none>        443/TCP                                                       14d
svc-3d1de3dc-7ca1-1f83-7a5e-548e5c5b4d12        NodePort    <IP>     <none>        8082:32433/TCP,8081:30374/TCP,8096:31178/TCP,8083:31067/TCP   1m
svc-3d1de3dc-7ca1-1f83-7a5e-548e5c5b4d12-sut0   ClusterIP   <IP>     <none>        50001/TCP                                                     1m
svc-7429ae6b-6f4b-012b-2d93-7c244109090b        NodePort    <IP>     <none>        8082:30736/TCP,8081:31272/TCP,8096:30857/TCP,8083:30949/TCP   1m
svc-7429ae6b-6f4b-012b-2d93-7c244109090b-sut0   ClusterIP   <IP>     <none>        50001/TCP                                                     1m
svc-89e81309-f6e4-21b1-ab8d-ecfb74d08010        NodePort    <IP>     <none>        8082:32072/TCP,8081:31236/TCP,8096:30000/TCP,8083:31257/TCP   1m
svc-89e81309-f6e4-21b1-ab8d-ecfb74d08010-sut0   ClusterIP   <IP>     <none>        50001/TCP                                                     1m
svc-c196e61f-098e-7b10-9d05-6d06ccbdbb9f        NodePort    <IP>     <none>        8082:32541/TCP,8081:30305/TCP,8096:31738/TCP,8083:31846/TCP   1m
svc-c196e61f-098e-7b10-9d05-6d06ccbdbb9f-sut0   ClusterIP   <IP>     <none>        50001/TCP                                                     1m

person kilgoretrout    schedule 22.03.2019    source источник
comment
CloudFormation создал экземпляры ECS для ваших узлов? Если нет, они отсутствуют ... Если да, подключитесь к своим экземплярам и проверьте kubelet журналы на наличие ошибок, возможно, они не могут зарегистрироваться на вашей плоскости управления.   -  person Eduardo Baitello    schedule 23.03.2019
comment
Вы имеете в виду, создал ли CloudFormation экземпляры EC2? Я вижу кластер на панели управления EKS, но не вижу никаких экземпляров EC2, связанных с кластером. Я также не вижу событий в CloudFormation ›Stack› myStack ›Events. См. Обновленный вопрос, когда я запускаю кластер с помощью Kubernetes API из моего бэкэнда. Я себе представляю, что мастер должен быть виден всегда?   -  person kilgoretrout    schedule 25.03.2019
comment
рабочие узлы EKS работают в вашей учетной записи AWS как стандартные экземпляры EC2. и подключитесь к плоскости управления кластера через конечную точку сервера API. Плоскость управления (т. Е. Главные компоненты) работает в учетной записи, управляемой AWS, и всегда скрыта с вашей точки зрения. См. Кластеры Amazon EKS.   -  person Eduardo Baitello    schedule 18.04.2019
comment
Если вы только начинаете работу с EKS, eksctl - отличный инструмент, который создает все ресурсы AWS, которые вам нужны, когда вы создать кластер.   -  person Aposhian    schedule 31.10.2020