SaltStack - Salt thông qua SSH
Salt thực hiện các lệnh trong một hệ thống từ xa bằng cách sử dụng salt-minion. Đây là hành vi bình thường. Trong một số trường hợp, hệ thống từ xa chỉ có thể được truy cập bằng giao thức SSH. Đối với những tình huống này, Salt cung cấp một tùy chọn để kết nối hệ thống từ xa chỉ bằng giao thức SSH và thực thi lệnh thông qua lớp SSH.
Salt SSHrất dễ cấu hình. Cấu hình cần thiết duy nhất là chỉ định chi tiết hệ thống từ xa trong một tệp đặc biệt được gọi làRoster file. Tệp bảng phân công này thường nằm ở/etc/salt/roster. Tệp danh sách sẽ có tất cả thông tin liên quan đến hệ thống từ xa và cách chúng tôi có thể kết nối với nó. Sau khi các tệp bảng phân công được định cấu hình, tất cả các lệnh Salt được thực thi bằng cách sử dụngsalt-ssh thay vì lệnh salt.
Tệp danh sách
Hệ thống phân công được thiết kế đặc biệt cho Salt SSH. Đây được thiết kế như một hệ thống có thể cắm được. Mục đích duy nhất của hệ thống phân công là thu thập thông tin về hệ thống từ xa. Tệp danh sách là mộtYAML based configuration file chứa thông tin hệ thống từ xa như targets. Các mục tiêu này là một cấu trúc dữ liệu đặc biệt với một tập hợp các thuộc tính được xác định trước. Một tệp bảng phân công chứa một hoặc nhiều mục tiêu và mỗi mục tiêu được xác định bởi mộtSalt ID.
Cấu trúc cơ bản của tệp bảng phân công như sau:
<Salt ID>:
host: <host name>
user: <user name>
passwd: <password of the user>
Tất cả các thuộc tính khác được hỗ trợ bởi tệp bảng phân công là tùy chọn. Chúng như sau:
port - Số cổng SSH.
sudo - có chạy lệnh qua sudo hay không.
sudo_user - tên người dùng sudo.
tty - true nếu sudo được bật.
priv - khóa riêng.
timeout - thời gian chờ cho kết nối SSH.
minion_opts - từ điển lựa chọn tay sai.
thin_dir - thư mục lưu trữ của hệ thống đích cho các thành phần muối.
cmd_umask - umask để buộc đối với lệnh gọi muối.
Tệp danh sách mẫu như sau:
web:
host: 192.168.2.1
user: webuser
passwd: secret
sudo: True
db:
host: 192.168.2.2
Triển khai khóa SSH
Salt SSH sẽ tạo một cặp khóa công khai / riêng tư mặc định cho thông tin đăng nhập SSH. Đường dẫn mặc định sẽ là /etc/salt/pki/master/ssh/salt-ssh.rsa. Khóa này có thể được triển khai cho hệ thống từ xa bằng cách sử dụngssh-copy-id lệnh như hình dưới đây.
ssh-copy-id -i /etc/salt/pki/master/ssh/salt-ssh.rsa.pub [email protected]
Thực thi lệnh
Việc thực thi một lệnh muối cũng đơn giản như thay đổi salt cli lệnh vào salt-ssh như hình bên dưới.
salt-ssh '*' test.ping
Lệnh Raw Shell
Salt SSH cung cấp một tùy chọn (-r) để thực thi một lệnh thô trong hệ thống từ xa bỏ qua mô-đun muối và các chức năng.
salt-ssh '*' -r 'ls'
Nhắm mục tiêu bằng Salt SSH
Nhắm mục tiêu hệ thống từ xa trong Salt SSH chỉ hỗ trợ các mục tiêu toàn cầu và regex. Vì Salt SSH là một mô-đun riêng biệt, nó chỉ cung cấp các tùy chọn hạn chế cho đến thời điểm hiện tại và sẽ cung cấp nhiều tính năng hơn trong tương lai gần.