SaltStack - Orchestration
โดยทั่วไปแล้ว orchestrationคือการประสานงานและการจัดระบบอัตโนมัติ Orchestrate Runner ใช้เพื่อทำการออเคสตร้าใน SaltStack
Orchestrate Runner
เขา Orchestrate Runner นำเสนอฟังก์ชันทั้งหมดของ OverState(ระบบก่อนหน้า) เดิมเรียกว่าstate.slsนักวิ่ง. นักวิ่งออเคสเตรตนี้ใช้เพื่อสรุประบบ Salt state ให้เป็นบริบทของ Salt master
state.sls และ state.highstate ฟังก์ชั่นจะถูกเรียกใช้งานกับ Salt minion แต่ละตัว แต่ไฟล์ state.orchestrateนักวิ่งจะถูกดำเนินการบนต้นแบบ state.orchestrateนักวิ่งช่วยให้คุณสามารถจัดการโครงสร้างพื้นฐานทั้งหมดของคุณได้อย่างสมบูรณ์ ให้เราเข้าใจวิธีดำเนินการตามขั้นตอนง่ายๆ
การดำเนินการอย่างง่าย
คำสั่ง Orchestrate Runner เหมือนกับคำสั่ง state.sls แต่คุณสามารถใช้งานได้โดยใช้ "salt-run" แทนการใช้เกลือ
สมมติว่าคุณมีไฟล์ sample.sls ไฟล์อยู่ที่ /srv/salt/orch/samples.sls. เพิ่มรหัสต่อไปนี้ในไฟล์นั้น
sample.sls
install_nginx:
salt.state:
- tgt: 'web*'
- sls:
- nginx
คำสั่งต่อไปนี้ใช้เพื่อรันบนต้นแบบและจะใช้สถานะที่กำหนดไว้ในไฟล์นั้น
salt-run state.orchestrate orch.sample
มันจะผลิตสิ่งต่อไปนี้ output -
saltmaster.local_master:
----------
ID: install_nginx
Function: salt.state
Result: True
Comment: States ran successfully.
Started: 11:54:56.308078
Duration: 63.401 ms
Changes:
Summary for saltmaster.local_master
------------
Succeeded: 1
Failed: 0
------------
Total states run: 1
Total run time: 63.401 ms
root@saltmaster:/home/vagrant#
ที่นี่ตามเวอร์ชันปัจจุบันฟังก์ชันตัววิ่งถูกเปลี่ยนชื่อเป็น state.orchestrate. สิ่งนี้จะเป็นประโยชน์ในการหลีกเลี่ยงความสับสนกับฟังก์ชันการดำเนินการ state.sls แต่เวอร์ชันก่อนหน้าของstate.sls ต้องใช้
เรียกใช้ฟังก์ชัน
ในการเรียกใช้ฟังก์ชันคุณควรใช้ไฟล์ salt.function. พิจารณาไฟล์data.sls ตั้งอยู่ที่ /srv/salt/orch/data.sls. ตอนนี้เพิ่มการเปลี่ยนแปลงต่อไปนี้ในไฟล์นั้น
data.sls
cmd.run:
salt.function:
- tgt: '*'
- arg:
- rm -rf /tmp/data
คำสั่งต่อไปนี้ใช้เพื่อเรียกใช้ฟังก์ชัน Salt
root@saltmaster:/home/vagrant# salt-run state.orchestrate orch.data
มันจะผลิตสิ่งต่อไปนี้ output -
saltmaster.local_master:
----------
ID: cmd.run
Function: salt.function
Result: True
Comment: Function ran successfully. Function cmd.run ran on minion1, minion2.
Started: 12:14:54.791635
Duration: 234.615 ms
Changes:
minion1:
minion2:
Summary for saltmaster.local_master
------------
Succeeded: 1 (changed = 1)
Failed: 0
------------
Total states run: 1
Total run time: 234.615 ms