Score:0

เรียกใช้แอปพลิเคชัน PHP พร้อมการสนับสนุนปลั๊กอิน

ธง cn

ฉันมีแอปพลิเคชัน PHP ที่ทำงานได้ดีใน Kubernetes ยกเว้นสถานการณ์หนึ่ง "ปัญหา" คือแอปพลิเคชันสามารถขยายได้โดยใช้ปลั๊กอิน ในกรณีนี้ เราเพียงเพิ่มปลั๊กอินลงในคอนเทนเนอร์ สร้างคอนเทนเนอร์ใหม่และปรับใช้อีกครั้ง ครั้งต่อไปที่ผู้ดูแลระบบเข้าสู่ระบบ เขาจำเป็นต้องยืนยันการติดตั้งปลั๊กอิน จนถึงตอนนี้ดีมาก แต่! ปัญหาของเราคือเราไม่สามารถถอนการติดตั้งปลั๊กอินเหล่านี้ได้อีกต่อไป เนื่องจากปลั๊กอินกำลังสร้างตารางและรายการ (เฉพาะปลั๊กอิน) ในตารางต่างๆ ภายในฐานข้อมูล

ในระหว่างกระบวนการถอนการติดตั้ง ปลั๊กอินจะลบตารางและอื่นๆ แต่เนื่องจากแอปพลิเคชันของเราอยู่ในพ็อด ไฟล์ในระบบไฟล์จึงยังคงทำงานอยู่ ดังนั้นหลังจากโหลดหน้าซ้ำ แอปพลิเคชันจะค้นหาปลั๊กอินใหม่และจะติดตั้งอีกครั้ง

โดยพื้นฐานแล้ว หลังจากลบปลั๊กอินหนึ่งตัว เราจำเป็นต้องสร้างคอนเทนเนอร์ใหม่โดยไม่ต้องใช้ปลั๊กอินและปรับใช้อีกครั้ง จากนั้นเราสามารถลบปลั๊กอินถัดไป สร้างคอนเทนเนอร์ใหม่ และอื่นๆ... แต่นั่นไม่ใช่วิธีแก้ไข

เราก็เลยคิดว่าต้องมีทางอื่นวิธีแก้ไขที่ดีที่สุดคือการติดตั้งในไดรฟ์ข้อมูล เพราะในกรณีนี้ พ็อดทั้งหมดใช้ไดรฟ์ข้อมูลเดียวกัน และเราสามารถแบ่งปันระหว่างพ็อด php-fpm และเว็บเซิร์ฟเวอร์พ็อด ดังนั้นเราจึงปรับขนาดได้โดยอิสระจากกัน แต่ในกรณีนี้ คำถามคือ ถ้ามีอะไรเช่นคอนเทนเนอร์ "การตั้งค่า" ที่ทำงานในการปรับใช้แต่ละครั้ง ดังนั้นเมื่อใดก็ตามที่เราอัปเกรดการปรับใช้คอนเทนเนอร์จะทำงานเพียงครั้งเดียวและถอนการติดตั้งปลั๊กอินเก่า / ติดตั้งปลั๊กอินใหม่ / ติดตั้งอัปเกรดแอปพลิเคชันของเรา ในสถานการณ์นี้ พ็อดของเราต้องการแค่ ReadOnlyMany (ROX) และพ็อดเดียวเท่านั้น (พ็อดการตั้งค่า) ที่ต้องการสิทธิ์ในการเขียน

ฉันรู้ว่ามี init-container แต่เท่าที่ฉันรู้ว่ามันทำงานทุกครั้งที่เริ่มพ็อดใหม่ มีใครมีคำแนะนำวิธีแก้ปัญหานี้หรือประสบปัญหาที่คล้ายกันหรือไม่?

Klamber avatar
ru flag
เนื่องจากแอป PHP จะไม่เขียนลงในไดรฟ์ข้อมูลนี้ คุณต้องมอบสิทธิ์ให้กับพ็อดที่มีสิทธิ์ในการเขียน ฉันจะใช้ตัวประมวลผลงานพื้นหลังบางประเภทที่ทำงานในพ็อด/งานที่มีสิทธิ์ แอปตรวจพบการอัปเกรด/ลบปลั๊กอิน -> ใส่การดำเนินการลงในคิวงานและโพลสำหรับการเปลี่ยนแปลงสถานะหรือข้อความแสดงข้อผิดพลาด พ็อดผู้ปฏิบัติงานจะตรวจสอบคิวงานและดำเนินการที่จำเป็น อัปเดตสถานะหรือตั้งค่าข้อความส่งคืนเมื่อเกิดข้อผิดพลาด มีหลายวิธีที่คุณสามารถใช้งานพื้นหลังได้ แต่ฉันไม่รู้ว่าเฟรมเวิร์กแอปของคุณคืออะไร

โพสต์คำตอบ

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