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