ฉันเพิ่งปรับใช้พ็อดส่วนหน้าและแบ็กเอนด์ และมีปัญหาเกี่ยวกับการเชื่อมต่อระหว่างพ็อดทั้งสอง
พ็อดแบ็กเอนด์ได้รับการกำหนดค่าด้วยวิธีต่อไปนี้:
api เวอร์ชัน: v1
ชนิด: ฝัก
ข้อมูลเมตา:
ชื่อ: af-backend-pod
ป้ายกำกับ:
ชื่อ: af-backend-pod
แอพ: adv-format
ข้อมูลจำเพาะ:
ตู้คอนเทนเนอร์:
- ชื่อ: af-แบ็กเอนด์
รูปภาพ: localhost:5000/แบ็กเอนด์:1.2
พอร์ต:
- พอร์ตคอนเทนเนอร์: 4040
สภาพแวดล้อม:
- ชื่อ: NODE_ENV
ค่า: "ทดสอบ"
บริการของพ็อดแบ็กเอนด์:
api เวอร์ชัน: v1
ชนิด:บริการ
ข้อมูลเมตา:
ชื่อ: af-แบ็กเอนด์
ป้ายกำกับ:
ชื่อ: af-backend-service
แอพ: adv-format
ข้อมูลจำเพาะ:
พอร์ต:
- พอร์ต: 4040
พอร์ตเป้าหมาย: 6011
ตัวเลือก:
ชื่อ: af-backend-pod
แอพ: adv-format
ปัญหาเกิดขึ้นเมื่อส่วนหน้าพยายามเรียกส่วนหลังโดยใช้ชื่อที่กำหนดไว้ในการกำหนดค่าพ็อด:
api เวอร์ชัน: v1
ชนิด: ฝัก
ข้อมูลเมตา:
ชื่อ: af-frontend-pod
ป้ายกำกับ:
ชื่อ: af-frontend-pod
แอพ: adv-format
ข้อมูลจำเพาะ:
ตู้คอนเทนเนอร์:
- ชื่อ: af-frontend
รูปภาพ: localhost:5000/ส่วนหน้า:1.1
พอร์ต:
- ตู้คอนเทนเนอร์พอร์ต: 80
สภาพแวดล้อม:
- ชื่อ: REACT_APP_SETUP
ค่า: "ทดสอบ"
- ชื่อ: REACT_APP_BACKEND_URL
ค่า: "af-backend" # <- this
- ชื่อ: REACT_APP_BACKEND_PORT
ค่า: "6011"
ขณะนี้ ส่วนหน้าถูกเปิดเผยโดยบริการ NodePort ที่พอร์ต 30120 ข้อผิดพลาดในการบันทึกไปยังคอนโซลแสดงว่าส่วนหน้าพยายามเรียกส่วนหลังโดยใช้ URL เช่น http://10.11.12.13:30120/ ซึ่งไม่ถูกต้อง: ฉันคาดว่าจะเห็น API แบ็กเอนด์ที่พอร์ต 6011 ภายใน
ความเข้าใจของฉันถูกต้องหรือไม่? หรือฉันควรเปิดเผยบริการแบ็กเอนด์ให้สามารถเข้าถึงได้จากภายนอกด้วย
หรืออาจมีวิธีจัดรูปแบบ URL ของแบ็กเอนด์ ตัดพอร์ตออกแล้วแทนที่ด้วยอันที่ต้องการ