งาน BOSH ที่แยกออกมา
bpm (ตัวจัดการกระบวนการ BOSH) เป็นเลเยอร์ระหว่าง monit
และงาน BOSH ของคุณซึ่งเพิ่มคุณสมบัติเพิ่มเติมในขณะที่ลบสคริปต์เริ่มต้นสำเร็จรูปเกือบทั้งหมด สามารถใช้งานร่วมกับรุ่น BOSH ที่เปิดตัวในช่วงไม่กี่ปีที่ผ่านมาได้
วงจรชีวิตของงานในปัจจุบันขึ้นอยู่กับความหมาย monit
เป็นอย่างมาก ไม่รับประกันลำดับการเริ่มต้นงานและกระบวนการ และมีการหมดเวลาที่ซ่อนอยู่ซึ่งคุณสามารถดำเนินการได้ ซึ่งจะทำให้ระบบของคุณอยู่ในสถานะที่ไม่คาดคิด
bpm ทำให้ความคาดหวังในงานของคุณชัดเจนมาก โดยจะกำหนดว่าสิ่งต่างๆ ควรใช้เวลานานเท่าใด bpm จะสื่อสารกับกระบวนการของคุณอย่างไร และงานของคุณควรประพฤติตนอย่างไรภายใต้สถานการณ์บางอย่าง งานส่วนใหญ่จะเป็นไปตามข้อกำหนดอยู่แล้ว
งานที่ใช้ bpm ถูกแยกออกจากกัน ทรัพยากรระบบปฏิบัติการทั้งหมด (ยกเว้นระบบเครือข่าย) จะถูกกำหนดเนมสเปซเพื่อให้งานไม่สามารถมองเห็นหรือโต้ตอบกับกระบวนการอื่นนอกเหนือจากงานที่มีอยู่ได้
สิ่งนี้ทำให้อินเทอร์เฟซระหว่างงานของคุณกับระบบมีขนาดเล็กลงและง่ายกว่ามาก แต่ให้อุปสรรคด้านความปลอดภัยที่สำคัญ เช่น หากงานใดงานหนึ่งบนเครื่องของคุณถูกบุกรุก เหตุการณ์จะถูกจำกัดอยู่เพียงงานนั้นเท่านั้น แทนที่จะเป็นงานทั้งหมดในงานเดียวกัน เครื่องจักร.
bpm ยังสามารถเสนอการจำกัดทรัพยากรได้เนื่องจากเทคโนโลยีที่เลือกสำหรับคุณสมบัติข้างต้น การทำเช่นนี้จะหยุดงานใดงานหนึ่งจากการอดงานอื่น ๆ ที่จัดวางในทรัพยากรระบบปฏิบัติการที่พวกเขาต้องการในการทำงาน
เอกสารสามารถพบได้ในไดเร็กทอรี docs ในขณะที่เรากำลังพัฒนา bpm เอกสารนี้อาจนำไปสู่การเปลี่ยนแปลงการใช้งานในช่วงสั้นๆ แต่ในที่สุดจะกลายเป็นแหล่งที่มาอย่างเป็นทางการของเอกสาร bpm
bpm มาถึงเวอร์ชัน 1.0 แล้วและมี API สาธารณะที่เสถียร ซึ่งน่าจะใช้ได้กับงาน BOSH ส่วนใหญ่ เราไม่ได้วางแผนที่จะทำการเปลี่ยนแปลง API สาธารณะก่อนเวอร์ชัน 2.0 ที่เข้ากันไม่ได้อีกต่อไป
คุณสามารถเริ่มอ่านเกี่ยวกับหลักการและอภิธานศัพท์ สภาพแวดล้อมรันไทม์ที่ bpm มอบให้กับงานของคุณ รูปแบบการกำหนดค่า และพฤติกรรมที่ไม่ได้กำหนดของระบบ
ขณะนี้ยังไม่รองรับการพัฒนาบนสิ่งอื่นใดนอกจาก Linux แม้ว่าการรันการทดสอบโดยใช้นักเทียบท่านั้นสามารถทำได้บน macOS
การพึ่งพาที่จำเป็นสำหรับการทดสอบในพื้นที่:
นักเทียบท่า
ไป
ขั้นตอนต่อไปนี้ควรอนุญาตให้คุณรันการทดสอบในคอนเทนเนอร์นักเทียบท่าในเครื่อง:
เปิดใช้งานการบัญชีสลับโดยการรันคำสั่งต่อไปนี้ในฐานะรูท:
# sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="swapaccount=1"/' /etc/default/grub# update-grub# รีบูต
โคลนที่เก็บและโมดูลย่อยนี้:
$cd ~/workspace $ git โคลน https://github.com/pivotal-cf/bpm-release.git $ cd ~/workspace/bpm-release
ทำการทดสอบ:
$ cd ~/workspace/bpm-release $ ./scripts/test-with-docker