Score:2

วิธีแก้ไขข้อผิดพลาด 503 ใน Kubernetes NGINX Ingress

ธง cn

ฉันพยายามเข้าถึงแดชบอร์ด Kubernetes โดยใช้ NGINX IGRESS แต่ด้วยเหตุผลบางอย่าง ฉันได้รับข้อผิดพลาด 503

ฉันใช้ Kubernetes ในเครื่อง macbook ด้วยเดสก์ท็อปนักเทียบท่า

สิ่งแรกที่ฉันทำคือสมัคร/ติดตั้ง 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-protocol: "HTTPS"
    nginx.ingress.kubernetes.io/ssl-passthrough: "จริง"
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/configuration-snippet: |-
      เปิด proxy_ssl_server_name;
      proxy_ssl_name $host;
ข้อมูลจำเพาะ:
  กฎ:
    - http:
        เส้นทาง:
          - pathType: คำนำหน้า
            เส้นทาง: /
            แบ็กเอนด์:
              บริการ:
                ชื่อ: แดชบอร์ด kubernetes
                ท่า:
                  หมายเลข: 433

เมื่อฉันพยายามเข้าถึง http://localhost และ/หรือ https://localhost ฉันได้รับข้อผิดพลาด 503 Service Temporarily Unavailable จาก 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{ชนิด:"Ingress", Namespace:"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] เหตุการณ์ (v1.ObjectReference{ชนิด:"Pod", Namespace:"ingress-nginx", ชื่อ:"ingress-nginx-controller-5b74bc9868-gplcq", UID:" bbd70716-b843-403b-a8f9-2add0f63f63f", APIVersion:"v1", ResourceVersion:"46315", FieldPath:""}): ประเภท: 'ปกติ' เหตุผล: โหลด NGINX 'RELOAD' ซ้ำเนื่องจากการเปลี่ยนแปลงการกำหนดค่า
192.168.65.3 - - [30/มิ.ย./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
30/06/2021 23:36:44 [ข้อผิดพลาด] 1222#1222: *17477 recv() ล้มเหลว (104: การเชื่อมต่อถูกรีเซ็ตโดยเพียร์) ขณะส่งไปยังไคลเอ็นต์, ไคลเอ็นต์: 192.168.65.3, เซิร์ฟเวอร์: _, คำขอ: "GET / HTTP/1.1", อัพสตรีม: "http://10.1.0.25:8443/", โฮสต์: "localhost"
30/06/2021 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/มิ.ย./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
2021/07/01 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
2021/07/01 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
2021/07/01 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
2021/07/01 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
2021/07/01 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{ชนิด:"Ingress", Namespace:"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] เหตุการณ์(v1.ObjectReference{ชนิด:"Pod", Namespace:"ingress-nginx", ชื่อ:"ingress-nginx-controller-5b74bc9868-gplcq", UID:" bbd70716-b843-403b-a8f9-2add0f63f63f", APIVersion:"v1", ResourceVersion:"46315", FieldPath:""}): ประเภท: 'ปกติ' เหตุผล: โหลด NGINX 'RELOAD' ซ้ำเนื่องจากการเปลี่ยนแปลงการกำหนดค่า
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/Jul/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{ชนิด:"Ingress", Namespace:"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] เหตุการณ์ (v1.ObjectReference{ชนิด:"Pod", Namespace:"ingress-nginx", ชื่อ:"ingress-nginx-controller-5b74bc9868-gplcq", UID:" bbd70716-b843-403b-a8f9-2add0f63f63f", APIVersion:"v1", ResourceVersion:"46315", FieldPath:""}): ประเภท: 'ปกติ' เหตุผล: โหลด NGINX 'RELOAD' ซ้ำเนื่องจากการเปลี่ยนแปลงการกำหนดค่า
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{ชนิด:"Ingress", Namespace:"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] เหตุการณ์ (v1.ObjectReference{ชนิด:"Pod", Namespace:"ingress-nginx", ชื่อ:"ingress-nginx-controller-5b74bc9868-gplcq", UID:" bbd70716-b843-403b-a8f9-2add0f63f63f", APIVersion:"v1", ResourceVersion:"46315", FieldPath:""}): ประเภท: 'ปกติ' เหตุผล: โหลด NGINX 'RELOAD' ซ้ำเนื่องจากการเปลี่ยนแปลงการกำหนดค่า
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

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก.

Score: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 flag
ไม่น่าเชื่อ ขอบคุณหลายล้านคนที่จับผิด! คุณทำให้ฉันปวดหัวมาก!.. ขอบคุณอีกครั้ง!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา