Рейтинг:2

Как решить ошибку 503 в Kubernetes NGINX Ingress

флаг cn

Я пытаюсь получить доступ к панели управления Kubernetes с помощью NGINX INGRESS, но по какой-то причине получаю ошибку 503.

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

Первое, что я сделал, это применил/установил NGINX INGRESS CONTROLLER.

kubectl применить -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/cloud/deploy.yaml

Второе, что я сделал, это применил / установил YML-файл панели инструментов kubernetes.

kubectl применить -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml

Третьим шагом было применение службы входа

Версия API: networking.k8s.io/v1
вид: Вход
метаданные:
  имя: панель-вход
  пространство имен: kubernetes-dashboard
  аннотации:
    nginx.ingress.kubernetes.io/backend-протокол: «HTTPS»
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
    kubernetes.io/ingress.class: «nginx»
    nginx.ingress.kubernetes.io/configuration-snippet: |-
      proxy_ssl_server_name включено;
      proxy_ssl_name $хост;
спецификация:
  правила:
    - http:
        пути:
          - тип_пути: префикс
            дорожка: /
            серверная часть:
              оказание услуг:
                имя: kubernetes-dashboard
                порт:
                  номер: 433

Когда я пытаюсь получить доступ к http://localhost и/или https://localhost, я получаю сообщение об ошибке 503 Service Temporally Unreachable от nginx.

Не уверен, что я делаю неправильно.

Вот часть лога из NGINX POD

I0630 23:36:42.049398 10 main.go:112] "Конфигурация успешно проверена, прием" ingress="dashboard-ingress/kubernetes-dashboard"
I0630 23:36:42.055306 10 event.go:282] Событие (v1.ObjectReference {Вид: «Вход», Пространство имен: «kubernetes-dashboard», Имя: «Dashboard-ingress», UID: «85e7bd9e-308d-4848- 8b70-4a3591415464", APIVersion: "networking.k8s.io/v1beta1", ResourceVersion: "47868", FieldPath: ""}): тип: "Обычный" Причина: "Синхронизация" Запланирована синхронизация
I0630 23:36:42.056435 10 controller.go:146] «Обнаружены изменения конфигурации, требуется перезагрузка серверной части»
I0630 23:36:42.124850 10 controller.go:163] «Бэкэнд успешно перезагружен»
I0630 23:36:42.125333 10 event.go:282] Event(v1.ObjectReference{Вид:"Pod", пространство имен:"ingress-nginx", имя:"ingress-nginx-controller-5b74bc9868-gplcq", UID:" bbd70716-b843-403b-a8f9-2add0f63f63f", APIVersion:"v1", ResourceVersion:"46315", FieldPath:""}): тип: "Нормальная" причина: "RELOAD" Перезагрузка NGINX инициирована из-за изменения конфигурации
192.168.65.3 - - [30/Jun/2021:23:36:44 +0000] "GET / HTTP/1.1" 400 54 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , например Gecko) Chrome/91.0.4472.114 Safari/537.36" 657 0,003 [kubernetes-dashboard-kubernetes-dashboard-80] [] 10.1.0.25:8443 48 0,002 400 395aec46af3b21e79cd650f2f86722f3
2021/06/30 23:36:44 [ошибка] 1222#1222: *17477 recv() не удалось (104: сброс соединения узлом) при отправке клиенту, клиент: 192.168.65.3, сервер: _, запрос: "GET / HTTP/1.1", восходящий поток: "http://10.1.0.25:8443/", хост: "localhost"
2021/06/30 23:36:45 [ошибка] 1222#1222: *17512 recv() не удалось (104: сброс соединения узлом) при отправке клиенту, клиент: 192.168.65.3, сервер: _, запрос: "GET / HTTP/1.1", восходящий поток: "http://10.1.0.25:8443/", хост: "localhost"
192.168.65.3 - - [30/Jun/2021:23:36:45 +0000] "GET / HTTP/1.1" 400 54 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , например Gecko) Chrome/91.0.4472.114 Safari/537.36" 657 0,002 [kubernetes-dashboard-kubernetes-dashboard-80] [] 10.1.0.25:8443 48 0,001 400 a15e1e48987948cb93503b494d188654
01.07.2021, 00:09:31 [ошибка] 1224#1224: *49299 recv() не удалось (104: сброс соединения узлом) при чтении вверх по течению, клиент: 192.168.65.3, сервер: _, запрос: "GET / HTTP/1.1", восходящий поток: "http://10.1.0.25:8443/", хост: "localhost"
192.168.65.3 - - [01/Jul/2021:00:09:31 +0000] "GET / HTTP/1.1" 400 54 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , как Gecko) Chrome/91.0.4472.114 Safari/537.36" 657 0,002 [kubernetes-dashboard-kubernetes-dashboard-80] [] 10.1.0.25:8443 48 0,001 400 ac6b88ca52b73358c39371cb4422761d
01.07.2021, 00:09:32 [ошибка] 1221#1221: *49336 recv() не удалось (104: сброс соединения узлом) при отправке клиенту, клиент: 192.168.65.3, сервер: _, запрос: "GET / HTTP/1.1", восходящий поток: "http://10.1.0.25:8443/", хост: "localhost"
192.168.65.3 - - [01/Jul/2021:00:09:32 +0000] "GET / HTTP/1.1" 400 54 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , например Gecko) Chrome/91.0.4472.114 Safari/537.36" 657 0,001 [kubernetes-dashboard-kubernetes-dashboard-80] [] 10.1.0.25:8443 48 0,001 400 2c5cd2d9403a8e50a77fdc897c694792
01.07.2021, 00:09:33 [ошибка] 1221#1221: *49338 recv() не удалось (104: сброс соединения узлом) при отправке клиенту, клиент: 192.168.65.3, сервер: _, запрос: "GET / HTTP/1.1", восходящий поток: "http://10.1.0.25:8443/", хост: "localhost"
192.168.65.3 - - [01/Jul/2021:00:09:33 +0000] "GET / HTTP/1.1" 400 54 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , например Gecko) Chrome/91.0.4472.114 Safari/537.36" 657 0,001 [kubernetes-dashboard-kubernetes-dashboard-80] [] 10.1.0.25:8443 48 0,000 400 f1f630c886d20b9b9c59bd9e0e0e3860
01.07.2021, 00:09:33 [ошибка] 1224#1224: *49344 recv() не удалось (104: сброс соединения узлом) при чтении вверх по течению, клиент: 192.168.65.3, сервер: _, запрос: "GET / HTTP/1.1", восходящий поток: "http://10.1.0.25:8443/", хост: "localhost"
192.168.65.3 - - [01/Jul/2021:00:09:33 +0000] "GET / HTTP/1.1" 400 54 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , например Gecko) Chrome/91.0.4472.114 Safari/537.36" 657 0,001 [kubernetes-dashboard-kubernetes-dashboard-80] [] 10.1.0.25:8443 48 0,001 400 2ab6774dec6e2a89599c4745d24b9661
192.168.65.3 - - [01/Jul/2021:00:09:33 +0000] "GET / HTTP/1.1" 400 54 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , например Gecko) Chrome/91.0.4472.114 Safari/537.36" 657 0,001 [kubernetes-dashboard-kubernetes-dashboard-80] [] 10.1.0.25:8443 48 0,000 400 c9147e08203d9ec8e7b0d0debab8d556
01.07.2021, 00:09:33 [ошибка] 1222#1222: *49360 recv() не удалось (104: сброс соединения узлом) при отправке клиенту, клиент: 192.168.65.3, сервер: _, запрос: "GET / HTTP/1.1", восходящий поток: "http://10.1.0.25:8443/", хост: "localhost"
I0701 00:10:19.024220 10 main.go:112] "Конфигурация успешно проверена, прием" ingress="dashboard-ingress/kubernetes-dashboard"
I0701 00:10:19.026772 10 controller.go:146] «Обнаружены изменения конфигурации, требуется перезагрузка серверной части»
I0701 00:10:19.027392 10 event.go:282] Событие (v1.ObjectReference {Вид: «Вход», Пространство имен: «kubernetes-dashboard», Имя: «Dashboard-ingress», UID: «85e7bd9e-308d-4848- 8b70-4a3591415464", APIVersion: "networking.k8s.io/v1beta1", ResourceVersion: "50637", FieldPath: ""}): тип: "Обычный" Причина: "Синхронизация" Синхронизация запланирована
I0701 00:10:19.102759 10 controller.go:163] «Бэкэнд успешно перезагружен»
I0701 00:10:19.103246 10 event.go:282] Event(v1.ObjectReference{Вид:"Pod", пространство имен:"ingress-nginx", имя:"ingress-nginx-controller-5b74bc9868-gplcq", UID:" bbd70716-b843-403b-a8f9-2add0f63f63f", APIVersion:"v1", ResourceVersion:"46315", FieldPath:""}): тип: "Нормальная" причина: "RELOAD" Перезагрузка NGINX инициирована из-за изменения конфигурации
192.168.65.3 - - [01/Jul/2021:00:11:27 +0000] "GET / HTTP/1.1" 503 592 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , например Gecko) Chrome/91.0.4472.114 Safari/537.36" 657 0,000 [kubernetes-dashboard-kubernetes-dashboard-433] [] - - - - c449f6e8082761ddc3432f956f4701f2
192.168.65.3 - - [01/Jul/2021:00:11:29 +0000] "GET / HTTP/1.1" 503 592 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , например Gecko) Chrome/91.0.4472.114 Safari/537.36" 657 0,000 [kubernetes-dashboard-kubernetes-dashboard-433] [] - - - - 3a41974b01c5e63e734fce6e37b98e4c
192.168.65.3 - - [01/Jul/2021:00:11:56 +0000] "GET / HTTP/2.0" 503 592 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , например Gecko) Chrome/91.0.4472.114 Safari/537.36" 408 0,000 [kubernetes-dashboard-kubernetes-dashboard-433] [] - - - - c01f7bec83d3be6b26703b8808f9922a
192.168.65.3 - - [01/Jul/2021:00:11:58 +0000] "GET / HTTP/2.0" 503 592 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , например Gecko) Chrome/91.0.4472.114 Safari/537.36" 24 0,000 [kubernetes-dashboard-kubernetes-dashboard-433] [] - - - - dc39bcddd4ecfdefe931bf16fe3c1557
192.168.65.3 - - [01/июля/2021:00:16:36 +0000] "GET / HTTP/1.1" 503 190 "-" "curl/7.64.1" 73 0,000 [kubernetes-dashboard-kubernetes-dashboard- 433] [] - - - - 82aad4321afbccb3fc54ac75d96b66ee
192.168.65.3 - - [01/Jul/2021:00:31:47 +0000] "GET / HTTP/2.0" 503 592 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , например Gecko) Chrome/91.0.4472.114 Safari/537.36" 417 0,000 [kubernetes-dashboard-kubernetes-dashboard-433] [] - - - - c4ab3d2f272be4d38df62c0ffd50bfe9
I0701 00:48:02.059067 10 main.go:112] "Конфигурация успешно проверена, прием" ingress="dashboard-ingress/kubernetes-dashboard"
I0701 00:48:02.062292 10 event.go:282] Событие (v1.ObjectReference {Вид: «Вход», Пространство имен: «kubernetes-dashboard», Имя: «Dashboard-ingress», UID: «85e7bd9e-308d-4848- 8b70-4a3591415464", APIVersion: "networking.k8s.io/v1beta1", ResourceVersion: "53737", FieldPath: ""}): тип: "Обычный" Причина: "Синхронизация" Синхронизация запланирована
I0701 00:48:02.062876 10 controller.go:146] «Обнаружены изменения конфигурации, требуется перезагрузка серверной части»
I0701 00:48:02.131494 10 controller.go:163] «Бэкенд успешно перезагружен»
I0701 00:48:02.131787 10 event.go:282] Event(v1.ObjectReference{Вид:"Pod", пространство имен:"ingress-nginx", имя:"ingress-nginx-controller-5b74bc9868-gplcq", UID:" bbd70716-b843-403b-a8f9-2add0f63f63f", APIVersion:"v1", ResourceVersion:"46315", FieldPath:""}): тип: "Нормальная" причина: "RELOAD" Перезагрузка NGINX инициирована из-за изменения конфигурации
192.168.65.3 - - [01/Jul/2021:00:48:12 +0000] "GET / HTTP/2.0" 503 592 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , например Gecko) Chrome/91.0.4472.114 Safari/537.36" 417 0,000 [kubernetes-dashboard-kubernetes-dashboard-433] [] - - - - d50e3bb0db3a5fa7581c405b8c50d5c8
192.168.65.3 - - [01/Jul/2021:00:48:14 +0000] "GET / HTTP/2.0" 503 592 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , например Gecko) Chrome/91.0.4472.114 Safari/537.36" 15 0,000 [kubernetes-dashboard-kubernetes-dashboard-433] [] - - - - c8d8752fb4d79d5bc084839ef9a767b2
I0701 00:49:50.908720 10 main.go:112] "Конфигурация успешно проверена, прием" ingress="dashboard-ingress/kubernetes-dashboard"
I0701 00:49:50.911044 10 controller.go:146] «Обнаружены изменения конфигурации, требуется перезагрузка серверной части»
I0701 00:49:50.911350 10 event.go:282] Событие (v1.ObjectReference {Вид: «Вход», Пространство имен: «kubernetes-dashboard», Имя: «Dashboard-ingress», UID: «85e7bd9e-308d-4848- 8b70-4a3591415464", APIVersion: "networking.k8s.io/v1beta1", ResourceVersion: "53896", FieldPath: ""}): тип: "Обычный" Причина: "Синхронизация" Запланирована синхронизация
I0701 00:49:50.979935 10 controller.go:163] «Бэкэнд успешно перезагружен»
I0701 00:49:50.980213 10 event.go:282] Event(v1.ObjectReference{Вид:"Pod", пространство имен:"ingress-nginx", имя:"ingress-nginx-controller-5b74bc9868-gplcq", UID:" bbd70716-b843-403b-a8f9-2add0f63f63f", APIVersion:"v1", ResourceVersion:"46315", FieldPath:""}): тип: "Нормальная" причина: "RELOAD" Перезагрузка NGINX инициирована из-за изменения конфигурации
192.168.65.3 - - [01/Jul/2021:00:50:55 +0000] "GET / HTTP/2.0" 503 592 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , например Gecko) Chrome/91.0.4472.114 Safari/537.36" 417 0,000 [kubernetes-dashboard-kubernetes-dashboard-433] [] - - - - d62a8012bc23bbc35a47621d54d68a62
192.168.65.3 - - [01/Jul/2021:00:51:00 +0000] "GET / HTTP/2.0" 503 592 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , например Gecko) Chrome/91.0.4472.114 Safari/537.36" 15 0,000 [kubernetes-dashboard-kubernetes-dashboard-433] [] - - - - 0cbfd2274ad687fc1aaff76dbc483659

Любая помощь будет принята с благодарностью.

Рейтинг:2
флаг cn

I've reproduced this setup and encountered the same issue as described in the question:

  • 503 Service Temporarily Unavailable Error

Focusing specifically on this setup, to fix above error you will need to modify the part of your Ingress manifest:

  • from:
                name: kubernetes-dashboard
                port:
                  number: 433
  • to:
                name: kubernetes-dashboard
                port:
                  number: 443 # <-- HERE!

You've encountered the 503 error as nginx was sending a request to a port that was not hosting the dashboard (433 -> 443).

After that change, I was fortunate enough to see the Dashboard login page.

I'd also recommend you following a guide to create a user that could connect to the dashboard with it's bearer token:


Additional resources:

Carlos Sosa avatar
флаг cn
Невероятно, огромное спасибо, что нашли эту опечатку! Вы избавили меня от многих головных болей!.. Еще раз спасибо!

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

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