SaltStack - เกลือผ่าน SSH
Salt ดำเนินการคำสั่งในระบบระยะไกลโดยใช้ salt-minion. นี่คือพฤติกรรมปกติ ในบางสถานการณ์ระบบรีโมตสามารถเข้าถึงได้โดยโปรโตคอล SSH เท่านั้น สำหรับสถานการณ์เหล่านี้ Salt มีตัวเลือกในการเชื่อมต่อระบบระยะไกลโดยใช้โปรโตคอล SSH เท่านั้นและดำเนินการคำสั่งผ่านเลเยอร์ SSH
Salt SSHง่ายมากในการกำหนดค่า การกำหนดค่าที่จำเป็นเพียงอย่างเดียวคือการระบุรายละเอียดระบบระยะไกลในไฟล์พิเศษที่เรียกว่าRoster file. โดยปกติไฟล์บัญชีรายชื่อนี้จะอยู่ใน/etc/salt/roster. ไฟล์บัญชีรายชื่อจะมีข้อมูลทั้งหมดเกี่ยวกับระบบระยะไกลและเราจะเชื่อมต่อกับมันได้อย่างไร เมื่อกำหนดค่าไฟล์บัญชีรายชื่อแล้วคำสั่ง Salt ทั้งหมดจะดำเนินการโดยใช้ไฟล์salt-ssh แทนคำสั่งเกลือ
ไฟล์บัญชีรายชื่อ
ระบบบัญชีรายชื่อออกแบบมาเฉพาะสำหรับ Salt SSH สิ่งนี้ได้รับการออกแบบให้เป็นระบบที่เสียบปลั๊กได้ จุดประสงค์เดียวของระบบบัญชีรายชื่อคือการรวบรวมข้อมูลเกี่ยวกับระบบระยะไกล ไฟล์บัญชีรายชื่อคือไฟล์YAML based configuration file มีข้อมูลระบบระยะไกลเป็น targets. เป้าหมายเหล่านี้เป็นโครงสร้างข้อมูลพิเศษที่มีชุดแอตทริบิวต์ที่กำหนดไว้ล่วงหน้า ไฟล์บัญชีรายชื่อมีเป้าหมายตั้งแต่หนึ่งรายการขึ้นไปและแต่ละเป้าหมายจะถูกระบุโดยไฟล์Salt ID.
โครงสร้างพื้นฐานของไฟล์บัญชีรายชื่อมีดังนี้ -
<Salt ID>:
host: <host name>
user: <user name>
passwd: <password of the user>
แอตทริบิวต์อื่น ๆ ทั้งหมดที่สนับสนุนโดยไฟล์บัญชีรายชื่อเป็นทางเลือก มีดังนี้ -
port - หมายเลขพอร์ต SSH
sudo - ไม่ว่าจะเรียกใช้คำสั่งผ่าน sudo
sudo_user - ชื่อผู้ใช้ sudo
tty - จริงถ้าเปิดใช้งาน sudo
priv - คีย์ส่วนตัว
timeout - หมดเวลาสำหรับการเชื่อมต่อ SSH
minion_opts - พจนานุกรมของ minion ตัวเลือก
thin_dir - ไดเร็กทอรีหน่วยเก็บข้อมูลของระบบเป้าหมายสำหรับส่วนประกอบเกลือ
cmd_umask - umask เพื่อบังคับสำหรับคำสั่ง salt-call
ไฟล์บัญชีรายชื่อตัวอย่างมีดังนี้ -
web:
host: 192.168.2.1
user: webuser
passwd: secret
sudo: True
db:
host: 192.168.2.2
ปรับใช้คีย์ SSH
Salt SSH จะสร้างคู่คีย์สาธารณะ / ส่วนตัวเริ่มต้นสำหรับการเข้าสู่ระบบ SSH เส้นทางเริ่มต้นจะเป็น /etc/salt/pki/master/ssh/salt-ssh.rsa คีย์นี้สามารถปรับใช้กับระบบรีโมตโดยใช้ssh-copy-id คำสั่งดังที่แสดงด้านล่าง
ssh-copy-id -i /etc/salt/pki/master/ssh/salt-ssh.rsa.pub [email protected]
ดำเนินการคำสั่ง
การดำเนินการคำสั่ง salt ทำได้ง่ายเพียงแค่เปลี่ยนไฟล์ salt cli สั่งเป็น salt-ssh ดังแสดงด้านล่าง
salt-ssh '*' test.ping
คำสั่งเชลล์ดิบ
Salt SSH มีตัวเลือก (-r) เพื่อดำเนินการคำสั่ง raw ในระบบรีโมตโดยข้ามโมดูลและฟังก์ชันของเกลือ
salt-ssh '*' -r 'ls'
กำหนดเป้าหมายด้วย Salt SSH
การกำหนดเป้าหมายระบบระยะไกลใน Salt SSH รองรับเฉพาะเป้าหมาย glob และ regex เนื่องจาก Salt SSH เป็นโมดูลแยกต่างหากจึงมีตัวเลือกที่ จำกัด เท่านั้น ณ ตอนนี้และจะให้คุณสมบัติเพิ่มเติมในอนาคตอันใกล้