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.