Score:0

เกตเวย์ istio ไม่เปิดลิงก์ภายใน จะแก้ไขได้อย่างไร

ธง ke

ฉันได้ปรับใช้แอปพลิเคชันใน kubernetes มันทำงานได้ถ้าเราเปิดเผยบริการโหลดบาลานซ์เริ่มต้นใน azure kubernetes แต่หลังจากตั้งค่าบริการเสมือนที่เชื่อมโยงกับเกตเวย์ istio ingress แล้ว จะเปิดเฉพาะโฮมเพจ ไม่มีลิงก์ใดทำงานเหมือน /admin /login

ฉันได้เพิ่มรายการสำหรับ /admin และ /login ในบริการเสมือนแล้ว แต่ไม่ได้เปิดหน้าเหล่านั้น

kiali เปิดตัวโดยใช้

istioctl แดชบอร์ด kiali

เมื่อฉันตรวจสอบการเข้าสู่ระบบ เคียลี.

[2021-07-18T08:19:51.304Z] "GET /admin/ HTTP/1.1" 404 NR route_not_found - "-" 0 0 0 - "10.244.1.1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML เช่น Gecko) Chrome/91.0.4472.164 Safari/537.36" "bc1ce347-4151-947b-b3d5-4c08003889a2" "20.85.0.248" "-" - - 10.244.1.9:8080 10.244.1.1 -

[2021-07-18T08:19:53.400Z] "GET /login/ HTTP/1.1" 404 NR route_not_found - "-" 0 0 0 - "10.244.1.1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML เช่น Gecko) Chrome/91.0.4472.164 Safari/537.36" "78f9d59e-6126-94f6-99e3-cbffe98e274f" "20.85.0.248" "-" - - 10.244.1.9:8080 10.244.1.1 -

[2021-07-18T08:19:56.286Z] "GET /login HTTP/1.1" 301 - via_upstream - "-" 0 0 4 4 "10.244.1.1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit /537.36 (KHTML เช่น Gecko) Chrome/91.0.4472.164 Safari/537.36" "be2ff6b8-751d-9150-9d6a-936a436f7fef" "20.85.0.248" "10.244.1.50:3000" ขาออก|8080||node-service.default .svc.cluster.local 10.244.1.9:59678 10.244.1.9:8080 10.244.1.1:4441 - -

[2021-07-18T08:19:56.525Z] "GET /login/ HTTP/1.1" 404 NR route_not_found - "-" 0 0 0 - "10.244.1.1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML เช่น Gecko) Chrome/91.0.4472.164 Safari/537.36" "f821db0b-cc9d-9b8c-9769-71ac7636a87e" "20.85.0.248" "-" - - 10.244.1.9:8080 10.244.1.1 -

[2021-07-18T08:20:00.198Z] "GET / HTTP/1.1" 200 - via_upstream - "-" 0 2804 4 4 "10.244.1.1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/ 537.36 (KHTML เช่น Gecko) Chrome/91.0.4472.164 Safari/537.36" "43c37e75-f0ce-9474-bc4d-ea4459772f6d" "20.85.0.248" "10.244.1.50:3000" ขาออก|8080||node-service.default svc.cluster.local 10.244.1.9:59678 10.244.1.9:8080 10.244.1.1:4441 - -

[2021-07-18T08:20:00.457Z] "GET /static/todo/logo.png HTTP/1.1" 404 NR route_not_found - "-" 0 0 0 - "10.244.1.1" "Mozilla/5.0 (Windows NT 10.0 ; Win64; x64) AppleWebKit/537.36 (KHTML เช่น Gecko) Chrome/91.0.4472.164 Safari/537.36" "a26d3710-3868-96b6-9d6d-7f6ee05dc131" "20.85.0.248" "-" - - 10.244.1.9:8080 10.248 .1.1:4441 - -

[2021-07-18T08:20:34.337Z] "GET /login/ HTTP/1.1" 404 NR route_not_found - "-" 0 0 0 - "10.244.1.1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML เช่น Gecko) Chrome/91.0.4472.164 Safari/537.36" "e8e73933-f95e-90a7-bdf4-ad39352982c5" "20.85.0.248" "-" - - 10.244.1.9:8080 10.244.1.1 -

[2021-07-18T08:20:37.506Z] "GET /login/ HTTP/1.1" 404 NR route_not_found - "-" 0 0 0 - "10.244.1.1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML เช่น Gecko) Chrome/91.0.4472.164 Safari/537.36" "bee90116-2d78-99dd-a4b7-fede0641fed8" "20.85.0.248" "-" - - 10.244.1.9:8080 10.244.1.1:4441 - -

[2021-07-18T08:20:40.191Z] "GET /login/ HTTP/1.1" 404 NR route_not_found - "-" 0 0 0 - "10.244.1.1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML เช่น Gecko) Chrome/91.0.4472.164 Safari/537.36" "f9df634e-743f-9699-a85d-40926db41ca4" "20.85.0.248" "-" - - 10.244.1.9:8080 10.244.1.1 -

โปรดแนะนำวิธีการแก้ไขปัญหานี้?

ตัวเทียบท่าแอปตัวอย่าง ลิงค์.

ไฟล์ kubernetes yaml ที่ใช้:

Deployment.yaml

api เวอร์ชัน: v1
ชนิด:บริการ
ข้อมูลเมตา:
  ชื่อ: โหนดบริการ
  ป้ายกำกับ:
    แอพ: nodeapp
    บริการ: โหนดบริการ
ข้อมูลจำเพาะ:
  ตัวเลือก:
    แอพ: nodeapp
  พอร์ต:
    - ชื่อ: http
      พอร์ต: 8080
      พอร์ตเป้าหมาย: 3000 #80

---
api เวอร์ชัน: v1
ชนิด: ServiceAccount
ข้อมูลเมตา:
  ชื่อ: nodeapp-รายละเอียด
  ป้ายกำกับ:
    บัญชี: nodeapp-รายละเอียด
---
apiVersion: แอป/v1
ประเภท: การปรับใช้
ข้อมูลเมตา:
  ชื่อ: การปรับใช้ nodeapp
  ป้ายกำกับ:
    แอพ: nodeapp
    รุ่น: v1
ข้อมูลจำเพาะ:
  แบบจำลอง: 1
  ตัวเลือก:
    ป้ายกำกับการแข่งขัน:
      แอพ: nodeapp
      รุ่น: v1
  แม่แบบ:
    ข้อมูลเมตา:
      ป้ายกำกับ:
        แอพ: nodeapp
        รุ่น: v1
    ข้อมูลจำเพาะ:
      serviceAccountName: nodeapp-รายละเอียด
      ตู้คอนเทนเนอร์:
        - ชื่อ: nginx
          รูปภาพ: uday1kiran/todoapp:1.0 #nginx
          imagePullPolicy: ถ้าไม่ใช่ปัจจุบัน
          พอร์ต:
            - พอร์ตคอนเทนเนอร์: 3000 #80
              ชื่อ: nodeapp-port
          #securityบริบท:
          #runAsUser: 1,000

virtualservice.yaml

รุ่น api: networking.istio.io/v1alpha3
ชนิด: VirtualService
ข้อมูลเมตา:
  ชื่อ: nodeserver
ข้อมูลจำเพาะ:
  เจ้าภาพ:
    - "*"
  เกตเวย์:
    - โหนดเกตเวย์
  http:
    - จับคู่:
        - ยูริ:
            ที่แน่นอน: /
        - ยูริ:
            ถูกต้อง: /admin
        - ยูริ:
            ถูกต้อง: /เข้าสู่ระบบ
      เส้นทาง:
        - ปลายทาง:
            โฮสต์: โหนดบริการ
            ท่า:
              หมายเลข: 8080

เกตเวย์. yaml

รุ่น api: networking.istio.io/v1alpha3
ชนิด: เกตเวย์
ข้อมูลเมตา:
  ชื่อ: โหนดเกตเวย์
ข้อมูลจำเพาะ:
  ตัวเลือก:
    istio: ingressgateway # ใช้ตัวควบคุมเริ่มต้นของ istio
  เซิร์ฟเวอร์:
  - ท่า:
      จำนวน: 80
      ชื่อ: http
      โปรโตคอล: HTTP
    เจ้าภาพ:
    - "*"

ไฟล์ yaml อยู่ในนี้ ที่เก็บ

Score:0
ธง id

คุณได้รับข้อผิดพลาด 404 เนื่องจากคุณใช้ ที่แน่นอน:

http:
    - จับคู่:
        - ยูริ:
            ที่แน่นอน: /
        - ยูริ:
            ถูกต้อง: /admin
        - ยูริ:
            ถูกต้อง: /เข้าสู่ระบบ

อย่างไรก็ตาม คุณกำลังพยายามเข้าถึงปลายทางอื่นๆ เช่น

"รับ /admin/ HTTP/1.1"

"รับ /เข้าสู่ระบบ/ HTTP/1.1"

คุณกำลังพยายามเข้าถึงปลายทางที่มีเครื่องหมายพิเศษ / ในตอนท้าย คุณสามารถแก้ไข yaml ของคุณได้โดยเปลี่ยน ที่แน่นอน ถึง regexหรือคุณสามารถเพิ่มตัวเลือกเพิ่มเติมด้วยส่วนเสริม / ตัวละครในตอนท้าย คุณยังสามารถอ่านเพิ่มเติมเกี่ยวกับ StringMatch ที่นี่.

moonkotte avatar
in flag
สวัสดี @uday [ตอบคำถามของคุณ](https://serverfault.com/help/someone-answers)ไหม

โพสต์คำตอบ

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