Рейтинг:0

Панель управления Kubernetes недоступна (ошибка 404)

флаг in

Я пытаюсь запустить панель инструментов Kubernetes в своем кластере.

Dashboard был установлен с помощью Kubespray, поэтому я уверен, что он установлен правильно (по крайней мере, его модули работают без ошибок).

Обзор настройки кластера выглядит следующим образом:

$ kubectl получить svc --all-namespaces
ТИП ПРОСТРАНСТВА ИМЕН КЛАСТЕР-IP ВНЕШНИЙ-IP ПОРТ(Ы) ВОЗРАСТ
по умолчанию kubernetes ClusterIP 10.65.0.1 <нет> 443/TCP 2d
kube-system coredns ClusterIP 10.65.0.3 <нет> 53/UDP,53/TCP,9153/TCP 2d
kube-system dashboard-metrics-scraper ClusterIP 10.65.43.101 <нет> 8000/TCP 2d
kube-system kubernetes-dashboard ClusterIP 10.65.10.7 <нет> 443/TCP 2d

$ kubectl получить доступ --all-namespaces
ПРОСТРАНСТВО ИМЕН НАЗВАНИЕ КЛАСС ХОСТИ АДРЕС ПОРТЫ ВОЗРАСТ
панель управления kube-system <нет> * 80 4 м 22 с

$ кошка dash_ingress.yml
Версия API: networking.k8s.io/v1
вид: Вход
метаданные:
  пространство имен: kube-система
  имя: приборная панель
  самоссылка: /api/dashboard
спецификация:
  по умолчаниюБэкэнд:
    оказание услуг:
      имя: kubernetes-dashboard
      порт:
        номер: 443

Предполагая, что мой сервер работает на IP 10.11.12.13, когда я пытаюсь связаться http://10.11.12.13/api/приборная панель, получаю ошибку 404. При попытке с https:// вместо этого Chrome сообщает ERR_CONNECTION_TIMED_OUT. Кроме того, все http:// вызовы на IP без каких-либо суффиксов также заканчиваются ошибкой 404.

Ошибка 404 nginx — это довольно положительный момент, поскольку, по крайней мере, нгинкс вроде работает правильно, но как достучаться до дашборда или как выставить его доступным? Стоит ли пробовать другие порты (проверял 8443 - кончается как у всех https:// звонки) или что-то еще?

РЕДАКТИРОВАТЬ:

После реконфигурации объекта Ingress следующим образом (добавление аннотаций):

Версия API: networking.k8s.io/v1
вид: Вход
метаданные:
  пространство имен: kube-система
  имя: приборная панель
  самоссылка: /api/dashboard
  аннотации:
    kubernetes.io/ingress.class: «nginx»
    nginx.ingress.kubernetes.io/service-upstream: «истина»
спецификация:
  по умолчаниюБэкенд:
    оказание услуг:
      имя: kubernetes-dashboard
      порт:
        номер: 443

Я узнал, что звонит https://10.11.12.13:6443/ выдает ошибку 403 со следующим возвращенным объектом состояния:

{
  "вид": "Статус",
  "апиВерсия": "v1",
  "метаданные": {},
  "статус": "Отказ",
  "message": "запрещено: пользователь \"system:anonymous\" не может получить путь 
\"/API/приборная панель\"",
  "причина": "Запрещено",
  "подробности": {},
  "код": 403
}

Не уверен, однако, исходит ли это от панели инструментов или какой-либо другой службы Kubernetes (Ingress был настроен для панели инструментов, но мне пока не хватает знаний по этой теме).

РЕДАКТИРОВАТЬ № 2:

Вызов http://10.11.12.13 перенаправляет на http://10.11.12.13/#/логин страница, и страница запрашивает токен или файл конфигурации. Однако вход в систему отключен из-за отсутствия связи https...

Andrew Skorkin avatar
флаг tr
Здравствуйте, @AbreQueVoy Хотите получить доступ к панели управления только через Ingress? Поскольку есть и другие [возможные способы] (https://github.com/kubernetes/dashboard/tree/master/docs/user/accessing-dashboard)
AbreQueVoy avatar
флаг in
Привет @AndrewSkorkin. Ingress — пока единственный рассматриваемый вариант.
Andrew Skorkin avatar
флаг tr
Вы решили эту проблему?
AbreQueVoy avatar
флаг in
В настоящее время мне удалось временно запустить его с помощью NodePort, но в долгосрочной перспективе Ingress будет постоянным вариантом.Так что пока безуспешно с использованием Ingress.

Ответить или комментировать

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