ความไม่เปลี่ยนรูปนั้นเจ๋งมากเพื่อให้ได้ความสอดคล้อง คาดการณ์ได้ และเชื่อถือได้ และฉันไม่เห็นเหตุผลว่าทำไมฉันจึงไม่ควรพยายามใช้การไม่เปลี่ยนรูประดับ OS เมื่อปรับใช้แอปพลิเคชันของฉันบน Linux VPS จากผู้ให้บริการระบบคลาวด์รายต่างๆ ทั่ว โลก. ด้วยเครื่องมือเช่น Packer เพื่อช่วยสร้างอิมเมจ OS นี่ดูเหมือนจะเป็นวิธีที่จะไป
สำหรับผู้ให้บริการคลาวด์บางราย (เช่น Digital Ocean) ฉันสามารถสร้างอิมเมจในเครื่องในรูปแบบ qcow2 หรือ raw แล้วอัปโหลดอิมเมจที่เสร็จสมบูรณ์ไปยังผู้ให้บริการคลาวด์เพื่อปรับใช้เมื่อสร้างอินสแตนซ์ VPS ใหม่นี่ดูเหมือนจะเป็นตัวเลือกที่ดีที่สุด
แต่ผู้ให้บริการระบบคลาวด์รายอื่น (เช่น Hetzner ในเยอรมนี) ไม่สนับสนุนการนำเข้าอิมเมจ OS ของคุณเอง คุณต้องสร้างอิมเมจบนโครงสร้างพื้นฐานโดยอิงจากอิมเมจต้นฉบับ จากนั้นจึงสแนปช็อตการติดตั้งขั้นสุดท้ายลงในไฟล์ที่ใช้ซ้ำได้ รูปภาพเมื่อกำหนดค่าทุกอย่างถูกต้อง นี่คือสิ่งที่ âHetzner Cloud Builderâ จาก Packer ทำ
แต่ฉันจะรับประกันได้อย่างไรว่าภาพสุดท้ายของ Hetzner มี ที่แน่นอน การติดตั้ง CentOS 8 เดียวกัน (ลงไปถึงชุด RPM ที่ติดตั้งชุดเดียวกันอย่างแม่นยำพร้อมหมายเลขรุ่นเดียวกัน) ที่ใช้งานบนผู้ให้บริการคลาวด์รายอื่นทั้งหมดหรือไม่
ฉันคิดว่าโซลูชันอาจเป็นเครื่องมือประกาศบางอย่าง ซึ่งใช้รายการของแพ็ค RPM และหมายเลขเวอร์ชันที่เกี่ยวข้อง และทำให้ระบบเป้าหมายสอดคล้องกับรายการนี้ - ทำให้แน่ใจว่ามีการติดตั้งแพ็คเกจ RPM ที่ขาดหายไปในเวอร์ชันที่ถูกต้อง ลบสิ่งที่ไม่จำเป็นออก แพ็คเกจ RPM การอัพเกรดแพ็คเกจ RPM ที่เก่ากว่าและการดาวน์เกรดแพ็คเกจ RPM ที่ใหม่กว่าเพื่อให้แน่ใจว่าติดตั้งเวอร์ชันที่ต้องการแล้ว
เครื่องมือดังกล่าวมีอยู่จริงหรือฉันควรคิดต่างไปจากเดิมอย่างสิ้นเชิง
บางคนอาจแย้งว่าควรอัปเกรดแพ็คเกจ CentOS RPM เป็นเวอร์ชันใหม่ล่าสุดเสมอ แต่ฉันไม่สามารถรับประกันได้ว่าผู้ให้บริการระบบคลาวด์ทุกรายกำลังใช้งานการติดตั้งระบบปฏิบัติการเดียวกัน ซึ่งอาจส่งผลต่อความสามารถในการคาดการณ์และความน่าเชื่อถือของบริการของฉัน
ฉันต้องการทดสอบการตั้งค่าทั้งหมด (OS + แอปพลิเคชัน) อย่างละเอียดก่อนที่จะนำไปใช้กับผู้ให้บริการระบบคลาวด์ จากนั้นการปรับใช้จะเหมือนกันกับผู้ให้บริการระบบคลาวด์ทุกราย นี่คือวิธีที่เราทำสิ่งต่างๆ ในระดับแอปพลิเคชันโดยใช้อิมเมจของ Docker และฉันก็ไม่เข้าใจว่าทำไมเราถึงควรยอมรับในระดับระบบปฏิบัติการน้อยกว่านี้
ข้อมูลใด ๆ จากเพื่อนร่วมงาน DevSecOps ของคุณว่าจะบรรลุเป้าหมายเหล่านี้ได้อย่างไร