•  notreh-light

บนคอนเทนเนอร์

การใช้คอนเทนเนอร์ อะไร และทำไม

คอนเทนเนอร์คืออะไร

[คอนเทนเนอร์] เป็นชื่อที่กำหนดให้กับสภาพแวดล้อมที่จำกัด ซึ่งเป็นไปได้โดยกลุ่มของระบบย่อยภายใน linux เช่น [cgroups ] และ [namespaces ]. แม้ว่าหน้าวิกิจะใช้คำว่า การจำลองเสมือน ฉันคิดว่าคำว่า การแยกตัว เหมาะสมกว่า เนื่องจากการจำลองเสมือนหมายความว่ามีชั้นของการแปลอยู่ระหว่างนั้น ในขณะที่กลุ่ม cgroups และเนมสเปซทำคือการแยกและจัดกระบวนการตามบริบท

Cgroups ใช้เพื่อกำหนดนโยบายการจัดสรรทรัพยากร โดยปกติRAM และCPU ในขณะที่เนมสเปซควบคุมบริบทต่างๆ เช่น จุดเชื่อมต่อ เครือข่าย และผู้ใช้ [Apparmor] มีวิธีจำกัดความสามารถสำหรับสภาพแวดล้อมคอนเทนเนอร์โดยรวมแทน ในขณะที่ apparmor ที่ไม่มีคอนเทนเนอร์นั้น ตามที่เขียนในวิกิพีเดียจะใช้โปรแกรมเป็นหลัก

เครื่องมือเช่น flatpak และ เรือนจำไฟใช้คอนเทนเนอร์ เพื่อจำกัดพื้นผิวการเข้าถึงของแอปพลิเคชันของผู้ใช้ คอนเทนเนอร์ [Windows] ใช้ระบบที่เทียบเท่า และยังให้การสนับสนุนคอนเทนเนอร์ linux ผ่าน [WSL]

แต่ทำไม?

มากเกินไป?

เมื่อฉันเริ่มสร้าง ต้นสน ฉันทดลองเล็กน้อยด้วยการจัดส่งอิมเมจคอนเทนเนอร์ของฉันเอง แจกจ่ายจาก GitHub รุ่นต่างๆ สคริปต์หลัก (trees ) คำสั่งคือ

Usage: trees APP [FLAGS]...
'APP'               Install apps through ostree deltas checkouts.
    -b, --base      base image (alp,trub...)
    -n, --name      same as APP (etcd,hhvm...)
    -f, --force     clear before install
    -d, --delete    clear checkout and prune ostree repo
ck, check           make sure the apps repo is mounted
co, checkout        builds the trees of links for the specified APP
    -t 	            optional path where to build the tree

มันคล้ายกับ flatpak เนื่องจากฉันกำลังจัดส่งสแตติกเดลต้า ostree ตามอิมเมจต้นสนหลัก และ [ตรวจสอบ] รูทfs ของแอปใหม่ จากนั้นจึงเปิดตัวอินสแตนซ์คอนเทนเนอร์ที่ด้านบน OpenVZ มีปัญหามากมายก่อน v7 สำหรับการรันคอนเทนเนอร์ (เนื่องจากคุณรู้ว่า...คุณกำลังเรียกใช้ a ซ้อนกัน คอนเทนเนอร์บน [VPS] แบบคอนเทนเนอร์ และเคอร์เนลเป็นทางแยกของv2.6 (!))...มันเป็น ใหญ่ เสียเวลา.

เมื่อไหร่?

ความพยายามของฉันคือการได้รับรันไทม์คอนเทนเนอร์น้อยที่สุดโดยไม่จำเป็นต้องใช้docker หรือซอฟต์แวร์ที่หนักกว่า เนื่องจากนักเทียบท่านั้นมีน้ำหนักเบาที่สุด และ ฝูงนักเทียบท่า การใช้งานในตัวที่ใช้ร่วมกันจำนวนมากและให้คุณสมบัติที่มีประโยชน์มากที่สุดสำหรับการประสานกัน ซึ่งทำให้เป็นข้อกำหนดของระบบโฮสต์ที่พึ่งพาได้มากที่สุดเมื่อเทียบกับ k8s หรือ เร่ร่อน.

แม้ว่าคอนเทนเนอร์จะเป็นคุณลักษณะที่คุณอาจต้องการเกือบตลอดเวลา แต่การประสานกลับไม่ใช่ ฉันคิดว่า กำหนดเป้าหมายอย่างหลวม ๆ แคมเปญโฆษณาดึงดูด ไม่ได้ตั้งใจ กลุ่มเป้าหมายสำหรับซอฟต์แวร์ดังกล่าวทำให้เชื่อว่ามีประโยชน์ ถึงพวกเขา โดยไม่เน้นย้ำว่าท่าน จริงๆ จำเป็นต้องปรับขนาดเป็นจำนวนมาก (!) เพื่อปรับต้นทุนความซับซ้อนของการตั้งค่าดังกล่าว จำนวน เครื่องมืออำนวยความสะดวก สร้างขึ้นรอบ ๆ k8s เพื่อช่วยในกระบวนการบูตสแตรปของคลัสเตอร์ k8s ควรมีหลักฐานเพียงพอ...

บทสรุป

เครื่องมือ Orchestrations ทำให้พื้นที่สำหรับโซลูชันจัดการเครื่องโฮสต์หลายเครื่องเมื่อผู้ใช้ไม่สามารถบอกความแตกต่างระหว่างเซิร์ฟเวอร์สำหรับสัตว์เลี้ยงและปศุสัตว์ได้ ในหลายๆ ครั้ง ซอฟต์แวร์อย่าง ansible, pyinfra หรือแม้แต่ cssh หรือ assh เป็นสิ่งที่ทุกคนต้องการ

โพสต์แท็ก: