SaltStack - API Python
Salt cung cấp quyền truy cập có lập trình vào tất cả các lệnh của nó. Salt cung cấp các mô-đun khác nhau cho mọi phần của hệ thống Salt. Hãy để chúng tôi tìm hiểu kiến thức cơ bản về python API và cách chạy các lệnh muối cơ bản trong chương này.
Cấu hình
Các salt.config được sử dụng để truy cập chi tiết cấu hình Salt.
import salt.config
opts = salt.config.client_config('/etc/salt/master')
Đây, client_config đọc tệp cấu hình muối và trả về chi tiết cấu hình dưới dạng từ điển.
Bộ tải
Các salt.loader mô-đun được sử dụng để tải từng mô-đun trong Muối như ngũ cốc, tay sai, v.v.
import salt.loader
opts = salt.config.minion_config('/etc/salt/minion')
grains = salt.loader.grains(opts)
Đây, grains đọc thông tin chi tiết của các hạt trong hệ thống Muối và trả về.
Mô-đun khách hàng
Các salt.client mô-đun được sử dụng để thực hiện các lệnh muối, gọi muối và các lệnh muối-SSH theo lập trình.
Các lớp python quan trọng nhất như sau:
- salt.client.LocalClient
- salt.client.Caller
- salt.client.ssh.client.SSHClient
Chức năng chính được cung cấp bởi hầu hết các mô-đun khách là cmd. Hàm này bao bọc các tùy chọn CLI và thực thi nó, tương tự như dòng lệnh và trả về kết quả dưới dạng cấu trúc dữ liệu python.
LocalClient
LocalClient được sử dụng để gửi các lệnh từ chủ đến các minion muối và trả lại kết quả cho chính.
import salt.client
local = salt.client.LocalClient()
local.cmd('*', 'test.ping')
Nó sẽ tạo ra những thứ sau output -
{'minion1': True, 'minion2': True }
Người gọi
Người gọi được sử dụng để chạy salt-call theo chương trình và trả về kết quả.
import salt.client
caller = salt.client.Caller()
caller.cmd('test.ping')
Nó sẽ tạo ra những thứ sau output -
True
SSHClient
SSHCient được sử dụng để chạy salt-ssh theo chương trình và trả về kết quả.
import salt.client.ssh.client
ssh = salt.client.ssh.client.SSHClient()
ssh.cmd('*', 'test.ping')
Nó sẽ tạo ra những thứ sau output -
{'minion1': True, 'minion2': True }
CloudClient
Mô-đun Salt.cloud được sử dụng để thực thi các lệnh của đám mây muối theo chương trình.
client = salt.cloud.CloudClient(path = '/etc/salt/cloud')
Mô-đun đám mây cung cấp các chức năng tạo máy ảo (create), hủy máy ảo (tiêu diệt), liệt kê hình ảnh do nhà cung cấp đám mây cung cấp (list_images), liệt kê vị trí của nhà cung cấp đám mây (list_locations), liệt kê kích thước máy của nhà cung cấp đám mây (list_sizes), Vân vân.