SaltStack - ระบบเหตุการณ์
ระบบอีเวนต์ใน Salt เป็นอินเทอร์เฟซ ZeroMQ PUB ในพื้นที่ซึ่งยิงเหตุการณ์ที่เป็นเกลือ ดำเนินการโดยส่วนประกอบต่อไปนี้
Event Sockets - ใช้เพื่อเผยแพร่กิจกรรม
Event library - ใช้เพื่อฟังเหตุการณ์และส่งเหตุการณ์เข้าสู่ระบบเกลือ
กิจกรรม Salt Master
ผู้เชี่ยวชาญด้านเกลือจัดเตรียมเหตุการณ์ประเภทต่างๆซึ่งมีรายละเอียดอธิบายไว้ด้านล่าง -
- เหตุการณ์การพิสูจน์ตัวตน
- เริ่มกิจกรรม
- เหตุการณ์สำคัญ
- งานอีเว้นท์
- กิจกรรมนักวิ่ง
- เหตุการณ์การแสดงตน
- เหตุการณ์บนคลาวด์
ให้เราดูรายละเอียดของเหตุการณ์แต่ละประเภท
เหตุการณ์การพิสูจน์ตัวตน
เหตุการณ์การพิสูจน์ตัวตนเหล่านี้เริ่มทำงานเมื่อมินเนี่ยนทำการตรวจสอบการพิสูจน์ตัวตนกับมาสเตอร์ แสดงโดย salt / auth
เริ่มกิจกรรม
เหตุการณ์เริ่มต้นจะเริ่มขึ้นเมื่อใดก็ตามที่มินเนี่ยนเชื่อมต่อกับซอลท์มาสเตอร์และมันจะแสดงด้วย salt / minion // start
เหตุการณ์สำคัญ
เหตุการณ์สำคัญจะเริ่มขึ้นเมื่อนายเกลือยอมรับและปฏิเสธกุญแจของมิเนียนเกลือ คุณสามารถเข้าถึงเหตุการณ์นี้ได้โดยใช้คำสั่ง salt-key
กิจกรรมงาน
เหตุการณ์งานจะถูกไล่ออกทุกครั้งที่งานใหม่กำลังจะเริ่มขึ้น มันแสดงโดยsalt/job//new. ที่นี่ JID - Job id new - new job
กิจกรรมนักวิ่ง
เมื่อนักวิ่งเริ่มดำเนินการเหตุการณ์นักวิ่งจะเริ่มขึ้น แสดงโดย salt / run // new
เหตุการณ์การแสดงตน
เมื่อมินเนี่ยนเชื่อมต่อหรือเชื่อมต่อใหม่หรือตัดการเชื่อมต่อเหตุการณ์นี้จะเริ่มทำงานในช่วงเวลาปกติ แสดงโดย -salt/presence/present และ salt/presence/change. ที่นี่
Present - หมายถึง Salt master เชื่อมต่อกับรายชื่อมินเนี่ยน
Change - ใช้ตรวจจับมินเนี่ยนตัวใหม่ - เชื่อมต่อหรือตัดการเชื่อมต่อ
เหตุการณ์บนคลาวด์
เหตุการณ์ Salt-Cloud ถูกยิงบนเครื่องเสมือน มินเนี่ยนจะไม่ดำเนินการ คุณสามารถเข้าถึงได้โดยใช้ -salt/cloud//creating. จะเริ่มทำงานเมื่อ Salt cloud เริ่มกระบวนการเรียกใช้เครื่องเสมือน
เครื่องมือเหตุการณ์
ตอนนี้ให้เราดูเครื่องมือเหตุการณ์และสคริปต์ คุณสามารถเข้าถึงบัสเหตุการณ์โดยใช้ CLI เข้าถึงได้โดยคำสั่งต่อไปนี้
salt-run state.event pretty = True
ที่นี่รันเนอร์ได้รับการออกแบบมาเพื่อโต้ตอบกับบัสเหตุการณ์จากเครื่องมือภายนอกและเชลล์สคริปต์ รถบัสเหตุการณ์ของ Salt สามารถเข้าถึงได้จากระยะไกลผ่านทางREST API. แสดงโดย - (URL ตัวอย่าง)
curl -SsNk https://salt-api.example.com:8000/events?token = 05A3.
ในทำนองเดียวกันคุณสามารถเข้าถึงเหตุการณ์จากสคริปต์ Python ได้เช่นกัน