การเปิดตัวเครื่องมือการจัดการคอนเทนเนอร์ LXC และ LXD 4.0

บริษัท Canonical การตีพิมพ์ การเปิดตัวเครื่องมือสำหรับจัดระเบียบการทำงานของตู้คอนเทนเนอร์แบบแยกส่วน แอลเอ็กซ์ซี 4.0, ผู้จัดการตู้คอนเทนเนอร์ แอลเอ็กซ์ดี 4.0 และ FS เสมือน LXCFS 4.0 สำหรับการจำลองใน /proc, /sys คอนเทนเนอร์และการเป็นตัวแทน cgroupfs เสมือนจริงสำหรับการแจกแจงโดยไม่รองรับเนมสเปซ cgroup Branch 4.0 ถูกจัดประเภทเป็นรุ่นสนับสนุนระยะยาว การอัปเดตซึ่งสร้างขึ้นในช่วงระยะเวลา 5 ปี

LXC เป็นรันไทม์สำหรับการรันทั้งคอนเทนเนอร์ระบบและคอนเทนเนอร์ OCI LXC ประกอบด้วยไลบรารี liblxc ชุดยูทิลิตี้ (lxc-create, lxc-start, lxc-stop, lxc-ls ฯลฯ) เทมเพลตสำหรับการสร้างคอนเทนเนอร์ และชุดการเชื่อมโยงสำหรับภาษาการเขียนโปรแกรมต่างๆ การแยกจะดำเนินการโดยใช้กลไกเคอร์เนล Linux มาตรฐาน ในการแยกกระบวนการ จะใช้กลไกเนมสเปซที่ใช้สแต็กเครือข่าย ipc, uts, ID ผู้ใช้ และจุดเชื่อมต่อ cgroups ใช้เพื่อจำกัดทรัพยากร เพื่อลดสิทธิ์และจำกัดการเข้าถึง จะใช้ฟีเจอร์เคอร์เนล เช่น โปรไฟล์ Apparmor และ SELinux, นโยบาย Seccomp, Chroots (pivot_root) และความสามารถต่างๆ รหัส LXC เขียนโดย ในภาษา C และเผยแพร่ภายใต้ลิขสิทธิ์ GPLv2

LXD เป็นส่วนเสริมของ LXC, CRIU และ QEMU ที่ใช้ในการจัดการคอนเทนเนอร์และเครื่องเสมือนจากส่วนกลางบนเซิร์ฟเวอร์ตั้งแต่หนึ่งเครื่องขึ้นไป หาก LXC เป็นชุดเครื่องมือระดับต่ำสำหรับการจัดการในระดับคอนเทนเนอร์แต่ละรายการ LXD จะถูกนำไปใช้เป็นกระบวนการเบื้องหลังที่ยอมรับคำขอผ่านเครือข่ายผ่าน REST API และช่วยให้คุณสร้างการกำหนดค่าที่ปรับขนาดได้ซึ่งปรับใช้บนคลัสเตอร์ของเซิร์ฟเวอร์หลายเครื่อง
รองรับแบ็กเอนด์พื้นที่จัดเก็บข้อมูลต่างๆ (แผนผังไดเร็กทอรี, ZFS, Btrfs, LVM), สแน็ปช็อตพร้อมการแบ่งสถานะ, การโยกย้ายคอนเทนเนอร์ที่ทำงานอยู่จากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง และเครื่องมือสำหรับการจัดระเบียบพื้นที่จัดเก็บรูปภาพ รหัส LXD เขียนโดย ใน Go และเผยแพร่ภายใต้ลิขสิทธิ์ Apache 2.0

สำคัญ การปรับปรุง ใน LXC 4.0:

  • ไดรเวอร์ได้รับการเขียนใหม่ทั้งหมดเพื่อทำงานร่วมกับ cgroup เพิ่มการสนับสนุนสำหรับลำดับชั้น cgroup แบบรวม (cgroup2) เพิ่มฟังก์ชันการทำงานของตัวควบคุมตู้แช่แข็ง ซึ่งคุณสามารถหยุดการทำงานในกลุ่ม c และเพิ่มทรัพยากรบางส่วนชั่วคราว (CPU, I/O และแม้กระทั่งหน่วยความจำ) เพื่อทำงานอื่น ๆ
  • ใช้โครงสร้างพื้นฐานสำหรับการสกัดกั้นการโทรของระบบ
  • เพิ่มการรองรับระบบย่อยเคอร์เนล "pidfd" ซึ่งออกแบบมาเพื่อจัดการกับสถานการณ์การนำ PID มาใช้ซ้ำ (pidfd เชื่อมโยงกับกระบวนการเฉพาะและไม่มีการเปลี่ยนแปลง ในขณะที่ PID สามารถเชื่อมโยงกับกระบวนการอื่นได้หลังจากกระบวนการปัจจุบันที่เกี่ยวข้องกับ PID นั้นสิ้นสุดลง) ;
  • ปรับปรุงการสร้างและการลบอุปกรณ์เครือข่าย รวมถึงการเคลื่อนไหวระหว่างเนมสเปซของระบบย่อยเครือข่าย
  • ความสามารถในการย้ายอุปกรณ์เครือข่ายไร้สาย (nl80211) ลงในคอนเทนเนอร์ได้ถูกนำมาใช้แล้ว

สำคัญ การปรับปรุง ใน LXD 4.0:

  • เพิ่มการรองรับสำหรับการเปิดตัวไม่เพียงแต่คอนเทนเนอร์เท่านั้น แต่ยังรวมถึงเครื่องเสมือนด้วย
  • ในการแบ่งกลุ่มเซิร์ฟเวอร์ LXD มีการเสนอแนวคิดโครงการที่ทำให้การจัดการกลุ่มคอนเทนเนอร์และเครื่องเสมือนง่ายขึ้น แต่ละโปรเจ็กต์สามารถรวมชุดคอนเทนเนอร์ เครื่องเสมือน รูปภาพ โปรไฟล์ และพาร์ติชั่นการจัดเก็บข้อมูลของตัวเองได้ ในส่วนที่เกี่ยวข้องกับโปรเจ็กต์ คุณสามารถกำหนดข้อจำกัดของคุณเองและเปลี่ยนแปลงการตั้งค่าได้
  • เพิ่มการรองรับการสกัดกั้นการเรียกระบบสำหรับคอนเทนเนอร์
  • ดำเนินการสร้างสำเนาสำรองของสภาพแวดล้อมและการกู้คืนจากสิ่งเหล่านั้น
  • การสร้างสแน็ปช็อตของสภาพแวดล้อมและพาร์ติชั่นการจัดเก็บข้อมูลโดยอัตโนมัตินั้นมาพร้อมกับความสามารถในการกำหนดอายุการใช้งานของสแน็ปช็อต
  • เพิ่ม API สำหรับการตรวจสอบสถานะเครือข่าย (ข้อมูลเครือข่าย lxc);
  • เพิ่มการสนับสนุน กะ, FS เสมือนสำหรับการแมปจุดเมานต์กับเนมสเปซของผู้ใช้
  • มีการเสนออะแดปเตอร์เครือข่ายประเภทใหม่ "ipvlan" และ "กำหนดเส้นทาง"
  • เพิ่มแบ็กเอนด์สำหรับการใช้ที่เก็บข้อมูลบน CephFS
  • มีการรองรับการจำลองแบบอิมเมจและการกำหนดค่าหลายสถาปัตยกรรมสำหรับคลัสเตอร์
  • เพิ่มการควบคุมการเข้าถึงตามบทบาท (RBAC)
  • เพิ่มการสนับสนุนสำหรับ CGroup2;
  • เพิ่มความสามารถในการกำหนดค่าที่อยู่ MAC และกำหนดที่อยู่ต้นทางสำหรับ NAT
  • เพิ่ม API สำหรับจัดการการเชื่อมโยง DHCP (สัญญาเช่า);
  • เพิ่มการรองรับ Nftables

ที่มา: opennet.ru

เพิ่มความคิดเห็น