ตัวสร้างอิมเมจระบบปฏิบัติการ SolusVM 2¶
SolusVM 2 OS Image Builder (เราจะเรียกมันว่า Builder ต่อจากนี้ไป) เป็นเครื่องมือที่สร้างโดยทีม SolusVM 2
Builder ช่วยให้คุณสร้างอิมเมจ QEMU/KVM OS ที่เข้ากันได้กับ cloud-init
แบบกำหนดเอง
SolusVM 2 มาพร้อมกับระบบปฏิบัติการและแอปพลิเคชันจำนวนมากที่พร้อมใช้งานทันที อย่างไรก็ตาม คุณอาจต้องการเพิ่มอิมเมจ OS ที่คุณกำหนดเอง (พร้อมพารามิเตอร์ที่ต้องการ แพ็คเกจที่ติดตั้ง แอปพลิเคชัน และอื่นๆ) ในบางกรณี การสร้างอิมเมจ OS แบบกำหนดเองอาจไม่ใช่เรื่องเล็กน้อย เพื่อช่วยให้คุณง่ายขึ้น เราได้สร้าง Builder ซึ่งมีประโยชน์หากคุณต้องการเพิ่มสิ่งต่อไปนี้:
- อิมเมจระบบปฏิบัติการพร้อมแอปพลิเคชันที่ติดตั้งไว้ล่วงหน้า การปรับใช้แอปพลิเคชันโดยตรงเมื่อสร้างเซิร์ฟเวอร์ไม่ใช่ตัวเลือก เนื่องจากแอปพลิเคชันใช้เวลานานในการปรับใช้
- ระบบปฏิบัติการที่อิมเมจระบบปฏิบัติการยังไม่พร้อมใช้งานแบบสาธารณะ และคุณต้องการเปิดให้ใช้งานได้เร็วกว่าผู้จำหน่ายระบบปฏิบัติการ ตัวอย่างเช่น อิมเมจ CentOS 8 ไม่ได้เผยแพร่ต่อสาธารณะมาระยะหนึ่งแล้ว แม้ว่าระบบปฏิบัติการจะเผยแพร่ไปแล้วก็ตาม
- ระบบปฏิบัติการที่ไม่มีอิมเมจที่เปิดเผยต่อสาธารณะ
วิธีการทำงานของตัวสร้าง¶
ก่อนที่คุณจะเริ่มสร้างอิมเมจที่กำหนดเองโดยใช้ Builder README, เราขอแนะนำให้คุณเข้าใจแนวคิดทั่วไปเกี่ยวกับวิธีการทำงานของ Builder ก่อน
ตัวสร้างเป็นเครื่องมือประกอบด้วยสิ่งต่อไปนี้:
-
สคริปต์
build.sh
หลักที่สร้างอิมเมจโดยใช้ Packer by HashiCorp -
เทมเพลต JSON จำนวนหนึ่งที่ Packer ใช้
เทมเพลตจะกำหนดวิธีการสร้างอิมเมจ เช่น OS ที่จะใช้และจากที่ใด แอปพลิเคชันและซอฟต์แวร์อื่นๆ ที่จะติดตั้ง คำสั่งที่จะรัน และอื่นๆ เทมเพลตช่วยสร้างภาพโดยอัตโนมัติ
เราได้เตรียมเทมเพลตสำหรับระบบปฏิบัติการต่อไปนี้: CentOS, Rocky Linux, Alma Linux, Ubuntu, Debian, Alpine Linux, VzLinux, Oracle Linux และ Windows หากหนึ่งในนั้นคือ OS ของอิมเมจที่คุณกำหนดเอง คุณสามารถใช้เทมเพลตที่เกี่ยวข้องเป็นพื้นฐานได้ คุณจะต้องแก้ไขเทมเพลตตาม เอกสารประกอบของ Packer ทั้งนี้ขึ้นอยู่กับอิมเมจ OS ที่คุณต้องการ
-
สคริปต์เพิ่มเติมจำนวนหนึ่งที่มีประโยชน์สำหรับการสร้างอิมเมจ ตัวอย่างเช่น สคริปต์ที่ถ่ายโอนอิมเมจระบบปฏิบัติการที่สร้างขึ้นไปยังเซิร์ฟเวอร์อื่นผ่าน scp คุณเปิดสคริปต์เหล่านี้โดยระบุตัวเลือกที่เกี่ยวข้องเมื่อเปิด
build.sh
กล่าวโดยย่อ Builder คือชุดของสคริปต์และการกำหนดค่าที่ช่วยให้คุณสร้างอิมเมจด้วย Packer ได้ง่ายขึ้น