Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

Puppet: เครื่องมือจัดการระบบโอเพนซอร์ส อัตโนมัติการกำหนดค่า (Configuration Management)

Puppet เป็นเครื่องมือจัดการระบบโอเพนซอร์สสำหรับ المركزيةและทำให้การจัดการการกำหนดค่า (configuration management) อัตโนมัติ Configuration management คือการบันทึกและอัปเดตรายละเอียดข้อมูลที่อธิบายฮาร์ดแวร์และซอฟต์แวร์ขององค์กร

Puppet มีสองเลเยอร์: ภาษาการกำหนดค่าสำหรับอธิบายว่าโฮสต์และบริการควรจะมีลักษณะอย่างไร และเลเยอร์นามธรรมที่ช่วยให้ผู้ดูแลระบบนำการกำหนดค่าไปใช้บนแพลตฟอร์มหลากหลาย รวมถึง Unix, Linux, Windows และ OS X ผู้ดูแลระบบสามารถเข้ารหัสการกำหนดค่าของบริการเป็นนโยบาย ซึ่ง Puppet จะตรวจสอบและบังคับใช้

Puppet เขียนด้วย Ruby และใช้ domain specific language (DSL) ของตัวเองสำหรับสร้างและจัดการโมดูล เวอร์ชันพื้นฐานของ Puppet configuration management ที่เรียกว่า Open Source Puppet พร้อมใช้งานโดยตรงจากเว็บไซต์ Puppet และได้รับอนุญาตภายใต้ระบบ Apache 2.0 Puppet Enterprise มีฟังก์ชันเพิ่มเติมรวมถึง orchestration, role-based access control (RBAC) และ compliance reporting

เว็บไซต์ Puppet Labs เสนอโมดูลชุมชนจำนวนมากสำหรับอธิบายและจัดการโครงสร้างพื้นฐานเป็นโค้ด Puppet Labs อ้างอิงถึงความร่วมมือระหว่าง Open Source Puppet และโมดูลชุมชนว่าเป็น Puppet ecosystem

โมดูล Puppet ecosystem ที่นิยมรวมถึง:

  • Puppet Forge - ที่เก็บให้เข้าถึงโมดูลสำเร็จรูปมากกว่า 4,000 จากผู้ใช้
  • Beaker - test harness เน้น acceptance testing สำหรับปฏิสัมพันธ์ระหว่าง VMs หลายตัว
  • Facter - เครื่องมือรวบรวมข้อเท็จจริงพื้นฐานของโหนด รวมรายละเอียดฮาร์ดแวร์ การตั้งค่าเครือข่าย ประเภทและเวอร์ชัน OS
  • Hiera - เครื่องมือค้นหาคีย์/ค่า สำหรับข้อมูลการกำหนดค่า
  • MCollective - เฟรมเวิร์กสร้างระบบ orchestration เซิร์ฟเวอร์ หรือ parallel job execution
  • PuppetDB - ฐานข้อมูลค้นหาได้ เก็บข้อมูลทุกโหนด
  • Razor - แอปพลิเคชัน provisioning ขั้นสูง สำหรับค้นพบและปรับใช้ bare-metal VMs และระบบเสมือน
  • Trapperkeeper - เฟรมเวิร์ก Clojure สำหรับโฮสต์แอปพลิเคชันที่รันนาน

วิดีโอจาก Puppet Labs นี้ให้ภาพรวมว่า Puppet ใช้ทำให้การจัดการโครงสร้างพื้นฐานอัตโนมัติอย่างไร

ดูเพิ่มเติม: policy-based management