SaltStack - การจัดการงาน

Salt มีความสามารถในการสื่อสารความเร็วสูงกับระบบจำนวนมาก แนวทางนี้ช่วยให้ Salt สร้างระบบมัลติทาสก์ที่มีประสิทธิภาพ Salt สามารถเรียกใช้งานได้มากกว่าหนึ่งระบบดังนั้น Salt จึงใช้เทคนิคการจัดการงานเพื่อจัดการงานแต่ละงานที่ทำงานบนระบบทั้งหมด บทนี้จะอธิบายเกี่ยวกับการจัดการงานโดยละเอียด

Job ID คืออะไร?

Salt มีไดเรกทอรีแคช cachedir. ภายในนี้ไดเร็กทอรีที่มินเนี่ยนดูแลอยู่เรียกว่าไฟล์procไดเรกทอรี จะอยู่ในไดเร็กทอรี / var / cache / salt / proc ต่อไปนี้

ไดเร็กทอรี proc ใช้เพื่อดูแลไฟล์ทั้งหมด เมื่อเรียกใช้ไฟล์เหล่านี้ไฟล์เหล่านี้จะถูกกำหนดด้วย ID งานที่ไม่ซ้ำกัน รหัสงานนี้ช่วยระบุงานที่กำลังทำงานอยู่ในมินเนี่ยนและช่วยให้สามารถค้นหางานได้

โมดูล SALTUTIL

Salt แนะนำโมดูลใหม่ที่เรียกว่าเป็นกระบวนการจัดการงานของ Saltutil โมดูลนี้ประกอบด้วยฟังก์ชันต่างๆในการจัดการงาน ฟังก์ชันเหล่านี้ใช้เพื่อจัดการงานในระดับมินเนี่ยน ฟังก์ชั่นอธิบายโดยสังเขปดังนี้ -

  • running - ส่งคืนข้อมูลงานที่กำลังทำงานอยู่ทั้งหมดที่พบในไดเร็กทอรี proc

  • find_job - ส่งคืนข้อมูลเฉพาะเกี่ยวกับงานบางอย่างตามรหัสงาน

  • signal_job - อนุญาตให้ส่งสัญญาณ id งานที่กำหนด (jid)

  • term_job - ส่งสัญญาณการยกเลิกสำหรับงานที่ระบุ

  • kill_job - ส่งสัญญาณฆ่าสำหรับงานที่ระบุ

นักวิ่งงาน

นักวิ่งงานมีฟังก์ชั่นเพื่อให้การดูข้อมูลง่ายขึ้นและสะอาดขึ้น มันมีหน้าที่แตกต่างกัน ให้เราพิจารณารายละเอียดของฟังก์ชันเหล่านี้แต่ละอย่าง

ฟังก์ชัน ACTIVE

ฟังก์ชัน Active ใช้เพื่อระบุงานที่ยังทำงานอยู่และตรวจสอบว่าระบบใดทำงานเสร็จแล้วและระบบใดที่ยังรออยู่ ดำเนินการโดยใช้คำสั่งต่อไปนี้

salt-run jobs.active

ฟังก์ชัน LOOKUP_JID

lookup_jid runner จะแสดงข้อมูลสำหรับงานที่กำลังหาอยู่ในปัจจุบัน งานเหล่านี้กำหนดค่าผ่านไฟล์keep_jobsตัวเลือกในการกำหนดค่าหลัก ดำเนินการโดยใช้คำสั่งต่อไปนี้

salt-run jobs.lookup_jid <job id number>

ฟังก์ชัน LIST_JOBS

ฟังก์ชัน List_jobs ใช้เพื่อแสดงรายการข้อมูลงานสำหรับงาน แสดงโดยคำสั่งต่อไปนี้ -

salt-run jobs.list_jobs

การจัดตารางงาน

ระบบกำหนดการจะแสดงการทำงานของฟังก์ชันการดำเนินการใด ๆ กับมินเนี่ยนหรือตัววิ่งบนมาสเตอร์

ดำเนินการโดยวิธีการต่อไปนี้ -

  • Schedule - ตัวเลือกกำหนดการทั้งในหลักหรือมินเนี่ยน config ไฟล์.

  • Minion pillar data - รีเฟรชข้อมูลเสามินเนี่ยนโดยใช้คำสั่ง saltutil.refresh_pillar

  • สถานะกำหนดการหรือโมดูลกำหนดการ

รัฐเกลือจะถูกประหารชีวิตในมินเนี่ยน คุณสามารถส่งผ่านอาร์กิวเมนต์ตำแหน่งและระบุYAML dict ของอาร์กิวเมนต์ที่ตั้งชื่อในไฟล์ config file ดังแสดงด้านล่าง

schedule:
   job1:
      function: saltstate.sls
      seconds: 3600
      args:
         - httpd
      kwargs:
         test: True

ที่นี่ job1 จะเรียกใช้ฟังก์ชัน saltstate.sls ด้วยอาร์กิวเมนต์ที่ระบุ httpdทุกชั่วโมง test: True เป็นอาร์กิวเมนต์เพิ่มเติมสำหรับ httpd คำสั่งที่กำหนดไว้ใน saltstate.sls.