Не удалось получить apiVersions из Kubernetes: невозможно получить полный список серверных API - PullRequest
1 голос
/ 18 июня 2020

При попытке развернуть приложение возникла ошибка, как показано ниже:

Error: UPGRADE FAILED: could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request

Вывод kubectl api-resources состоит из некоторых ресурсов вместе с той же ошибкой в ​​конце.

Среда : Azure Облако, служба AKS

Ответы [ 2 ]

3 голосов
/ 19 июня 2020

Решение:

Я выполнил следующие шаги:

  1. kubectl get apiservices: если служба metri c -server не работает с ошибкой CrashLoopBackOff попробуйте выполнить шаг 2, иначе просто попробуйте перезапустить службу metri c -server, используя kubectl delete apiservice / "service_name" . Для меня это было v1beta1.metrics.k8s.io .

  2. kubectl get pods -n kube-system и выяснилось, что модули, такие как metrics-server, kubernetes-dashboard, не работают из-за основной модуль coreDNS не работает.


Для меня это было:

NAME                          READY   STATUS             RESTARTS   AGE
pod/coredns-85577b65b-zj2x2   0/1     CrashLoopBackOff   7          13m
Используйте kubectl describe pod/"pod_name", чтобы проверить ошибку в модуле coreDNS, и если он не работает из-за / etc / coredns / Corefile: 10 - Ошибка во время синтаксического анализа: Неизвестная директива прокси , тогда нам нужно использовать пересылка вместо прокси в файле yaml, где находится конфигурация coreDNS. Поскольку CoreDNS версии 1.5x, используемый изображением, больше не поддерживает ключевое слово proxy .
0 голосов
/ 18 июня 2020

Эта ошибка обычно возникает, когда ваш модуль сервера метрик недоступен для главного узла. Возможные причины:

  1. metri c -server pod не работает. Это первое, что вам следует проверить. Затем просмотрите журналы модуля metri c -server, чтобы проверить, есть ли у него какие-либо проблемы с разрешениями при попытке получить показатели

  2. Попробуйте подтвердить связь между главным и подчиненным узлами.

  3. Попробуйте запустить kubectl top nodes и kubectl top pods -A, чтобы убедиться, что metri c -server работает нормально.

С этих пунктов вы можете продолжить .

...