ฉันกำลังพยายามใช้ lua-เบรกเกอร์วงจร ปลั๊กอินด้วย ทางเข้า nginx ในคลัสเตอร์ Kubernetes ฉันต้องการตั้งค่าเซิร์ฟเวอร์อัปสตรีมสองตัวโดยที่เซิร์ฟเวอร์แรก "ปิด" ด้วยเซอร์กิตเบรกเกอร์นี้ และเซิร์ฟเวอร์จะถอยกลับไปที่ปลายทางอัปสตรีมอื่นในกรณีที่เซอร์กิตเบรกเกอร์เปิดอยู่ เซิร์ฟเวอร์อัปสตรีมทั้งสองเป็น Kubernetes บริการ
ส.
มี 2 สิ่งที่ฉันไม่แน่ใจในขณะนี้
- เดอะ รองรับปลั๊กอิน ของ ingress-nginx ดูเหมือนว่าจะคาดหวังให้ปลั๊กอินทำงานภายในการเรียกกลับบางอย่างเช่น
init_worker
หรือ เขียนใหม่
. ฉันไม่เห็นว่าฉันจะทำซ้ำได้อย่างไร ตัวอย่างในปลั๊กอิน lua-circuit-breaker เนื่องจากตั้งค่าตัวแปรโลคัลก่อนฟังก์ชัน "wrapped" และใช้หลังจากนั้น เท่าที่ฉันรู้ ฉันจะไม่สามารถเข้าถึง cb
ตัวแปรใน header_filter
โทรกลับถ้าฉันเริ่มต้นใน เขียนใหม่
โทรกลับ. ดูเหมือนจะเป็นไปไม่ได้ที่จะรวมคำขอภายในขอบเขตของตัวแปร
- ฉันไม่แน่ใจว่าจะใช้ Kubernetes อย่างไร
ทางเข้า
วัตถุเพื่อตั้งค่าพฤติกรรมทางเลือก ถ้าฉันใช้ ข้อมูลโค้ดเซิร์ฟเวอร์
ฉันเชื่อว่าใช้ได้กับเซิร์ฟเวอร์อัปสตรีมเพียงเซิร์ฟเวอร์เดียว และฉันไม่สามารถตั้งค่าเซิร์ฟเวอร์อัปสตรีมหลายเซิร์ฟเวอร์ใน Ingress เดียวได้
ฉันชนกำแพงที่นี่โดยขาดความคุ้นเคย lua-nginx-โมดูล
นั่น ทางเข้า nginx
ใช้. ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก!