ฉันกำลังพยายามเปิดตัว สอง แผนภูมิ Helm ที่แตกต่างกันที่ใช้การพึ่งพาร่วมกัน (ฐานข้อมูล MySQL ในกรณีนี้)
ลองพิจารณาแผนภูมิหางเสือที่แตกต่างกันสองแบบด้วยการตั้งค่าต่อไปนี้ใน Chart.yaml
:
บริการ ก:
การพึ่งพา:
- ชื่อ: mysql
รุ่น: ^8.0.20
ที่เก็บ: https://charts.bitnami.com/bitnami
บริการ B:
การพึ่งพา:
- ชื่อ: mysql
รุ่น: ^8.0.20
ที่เก็บ: https://charts.bitnami.com/bitnami
แม้ว่าบริการทั้งสองจะเป็นอิสระจากกัน แต่ก็แชร์ฐานข้อมูลเดียวกัน อย่างไรก็ตาม ปัญหาเกิดขึ้นเมื่อการปรับใช้เริ่มต้นขึ้น เนื่องจากจะทำให้เกิดฐานข้อมูลสองฐานข้อมูลที่เป็นอิสระเช่นกัน
ฉันได้พยายามไล่ล่าแนวทางร่มที่อ้างถึง ที่นี่โดยกำหนดให้ทุกอย่างอยู่ภายใต้สิ่งเดียวกัน แผนภูมิหางเสือของผู้ปกครอง ด้วยการตั้งค่าที่คล้ายกับสิ่งนี้:
แผนภูมิหางเสือของผู้ปกครอง:
การพึ่งพา:
- ชื่อ: service_a
รุ่น: 0.1.0
พื้นที่เก็บข้อมูล: repo_for_service_a
- ชื่อ: service_b
รุ่น: 0.1.0
พื้นที่เก็บข้อมูล: repo_for_service_b
ปัญหาคือ แม้ว่าฐานข้อมูลเดียวกันจะถูกแชร์เป็นการพึ่งพาอีกครั้ง แต่รหัสที่ซ้ำกันจะถูกสร้างขึ้นสำหรับฐานข้อมูลเมื่อพยายามปรับใช้ ซึ่งส่งผลให้สถานะการปรับใช้ล้มเหลว
เพื่อแก้ปัญหานี้ ฉันใช้ประโยชน์จากเฮล์ม --post-renderer
ธงผ่าน เด็ด.
แม้ว่าสิ่งนี้จะได้ผล แต่ฉันกำลังมองหาวิธีแก้ปัญหาที่เป็นไปได้มากกว่า