- ระบบปฏิบัติการบนพื้นฐาน Linux ที่ปรับแต่งมาสำหรับการโฮสต์คอนเทนเนอร์
- ออกแบบมาให้ทำงานร่วมกับตัวจัดการคอนเทนเนอร์ออร์เคสเตรชัน (เช่น Kubernetes) เพื่อทำให้วงจรชีวิตของคอนเทนเนอร์ที่รันอยู่ในคลัสเตอร์เป็นอัตโนมัติ
- เป้าหมายหลัก 3 ประการคือ: ความเล็กกระทัดรัด, การอัปเดตที่ปลอดภัย, และยึดความปลอดภัยเป็นศูนย์กลาง
- ไม่มีเชลล์ แต่สามารถโต้ตอบกับระบบผ่านคอนเทนเนอร์ "host" ที่มีสิทธิ์ได้
- การอัปเดตถูกส่งมอบผ่านอิมเมจที่ดาวน์โหลดลงในพาร์ทิชันเฉพาะ Bottlerocket จะสลับพาร์ทิชันและบูตแบบ Atomic ไปยังเวอร์ชันใหม่
- ใช้หลายพาร์ทิชันเพื่อจัดการการอัปเดต โดยจะเกิดการเปลี่ยนแปลงแบบ Atomic ตอนรีบูต
- การอัปเดตสามารถจัดการได้ทั้งแบบแมนนวล หรือผ่านเครื่องมือเฉพาะสำหรับออร์เคสเตรเตอร์อย่าง Bottlerocket Update Operator (brupop) และ ECS updater
- เขียนด้วย Rust และ Golang เล็กน้อย
- ระบบไฟล์รากของ Bottlerocket ไม่สามารถแก้ไขเปลี่ยนแปลงได้ โดย dm-verity ให้การตรวจสอบความถูกต้องสมบูรณ์ของระบบไฟล์รากแบบโปร่งใส และหากตรวจพบการเปลี่ยนแปลงในบล็อกดีไวซ์พื้นฐาน เคอร์เนลจะรีสตาร์ต
- Bottlerocket มีระบบไฟล์แบบแปรผันที่เปิดใช้งานตลอดเวลา เป็นแบบบังคับ และมีนโยบาย SELinux ที่เข้มงวดและจำกัด ซึ่งช่วยป้องกันไม่ให้คอนเทนเนอร์ที่รันด้วยสิทธิ์ root ทำงานที่เป็นอันตรายได้
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News