Под Kubernetes kube-dns находится на рассмотрении

Я попробовал этот doc для установки и настройки Kubernetes в виртуальной машине Ubuntu. Я закончил до 3/4, и теперь модуль kube-dns находится в состоянии ожидания. Как я могу понять это? вот результат для kubectl get pods --namespace=kube-system и kubectl describe pod <pod name>

# kubectl get pods --namespace=kube-system
NAME                              READY     STATUS    RESTARTS   AGE
dummy-2088944543-jk2t2            1/1       Running   0          3h
etcd-ubuntu                       1/1       Running   0          3h
kube-apiserver-ubuntu             1/1       Running   0          3h
kube-controller-manager-ubuntu    1/1       Running   0          3h
kube-discovery-1769846148-h88v4   1/1       Running   0          3h
kube-dns-2924299975-dfp17         0/4       Pending   0          3h
kube-proxy-zdcxw                  1/1       Running   0          3h
kube-scheduler-ubuntu             1/1       Running   0          3h
weave-net-xwfhj                   2/2       Running   0          2h

# kubectl describe pod kube-dns-2924299975-dfp17
Error from server (NotFound): pods "kube-dns-2924299975-dfp17" not found

person Lakmal Vithanage    schedule 14.02.2017    source источник
comment
Попробуйте использовать команду kubectl для проверки меток в данных конфигурации модуля. Kubernetes запланирует только хост/кубелет с соответствующими метками. Например, может случиться так, что у модуля есть метки, в которых говорится, что он работает только на узле, который имеет метку «регион = инфраструктура» или что-то подобное (это просто вымышленный пример). ничего не будет автоматически развернуто на нем, если это не включено. Последняя идея заключается в том, что он, возможно, не может загрузить образ контейнера. Вы можете проверить журналы для этого   -  person Chunko    schedule 14.02.2017
comment
@lakmal-vithanage, можете ли вы опубликовать вывод kubectl describe pod <pod-name>?   -  person Antoine Cotten    schedule 14.02.2017
comment
@AntoineCotten, я обновил вопрос   -  person Lakmal Vithanage    schedule 14.02.2017
comment
@lakmal-vithanage вы забыли --namespace=kube-system в команде, отсюда и ошибка. Не могли бы вы обновить вопрос еще раз?   -  person Antoine Cotten    schedule 14.02.2017


Ответы (1)


Причина

Скорее всего нехватка доступных вычислительных ресурсов в вашем кластере.

Если вы используете пример в cluster/addons/dns вы, безусловно, используете Deployment с запросами ресурсов, которые выделяются при переходе по ссылке. Возможно, другие ваши модули уже запрашивают все доступные ресурсы в кластере, поэтому ваш модуль не попадает в расписание.

Вы можете подтвердить эту теорию с помощью kubectl --namespace=kube-system describe pod kube-dns-2924299975-dfp17 и найти следующее событие:

Reason                Message
------                -------
FailedScheduling      pod (kube-dns-2924299975-dfp17) failed to fit in any node
fit failure summary on nodes : Insufficient cpu (3)

Вы также можете описать свои узлы с помощью kubectl describe node <node-name> и посмотреть последнюю информацию:

Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.
  CPU Requests  CPU Limits      Memory Requests Memory Limits
  ------------  ----------      --------------- -------------
  320m (8%)     300m (7%)       150Mi (1%)      150Mi (1%)

В вашем случае либо ЦП, либо выделение памяти должны быть близки к 100%.

Решение

  • Добавьте больше вычислительных ресурсов/узлов в свой кластер (предпочтительно)
  • Удалите запросы ресурсов из ваших подов, рискуя перегрузить ваши ресурсы.
person Antoine Cotten    schedule 14.02.2017
comment
это также было проблемой в моем случае. Мастера обновлены с t2.micro до t2.small и это исправлено. - person gsaslis; 07.09.2017
comment
Мастера @gsaslis вообще нельзя планировать по соображениям безопасности. Модернизация их, чтобы вы могли планировать на них модули, — это довольно антипаттерн. - person Antoine Cotten; 07.09.2017
comment
да, хороший момент. В моем случае это был kube-scheduler, который не удалось развернуть... ; ) - person gsaslis; 07.09.2017
comment
Можно ли уменьшить/удалить запросы по умолчанию kube-dns? - person Stanislav Mekhonoshin; 28.01.2018