SaltStack - Máy chủ tệp Salt
Máy chủ tệp Salt là máy chủ ZeroMQ không trạng thái. Nó được tích hợp sẵn trong Salt master. Máy chủ tệp Salt được sử dụng để phân phối tệp từ chính đến tay sai. Nó chứa các mô-đun khác nhau. Hãy để chúng tôi hiểu máy chủ tệp muối, cấu hình của nó, các mô-đun liên quan đến máy chủ tệp muối, cách truy cập máy chủ tệp muối trong python, v.v., trong chương này.
Phần phụ trợ của Máy chủ Tệp
Phần phụ trợ của máy chủ tệp cho phép máy chủ tệp Salt hoạt động như một giao diện trong suốt với máy chủ tệp khác như hệ thống tệp cục bộ, hệ thống kiểm soát phiên bản Git, v.v.
Có thể bật phần phụ trợ của máy chủ tệp Git bằng cách sử dụng cấu hình sau trong tệp chính.
fileserver_backend:
- git
Để kích hoạt nhiều hệ thống tệp phụ trợ, chúng ta có thể sử dụng cấu hình sau.
fileserver_backend:
- roots
- git
Chúng tôi cũng có thể chỉ định tùy chọn bổ sung cho một máy chủ phụ trợ khác bằng cách sử dụng phần cụ thể của máy chủ phụ trợ tương ứng.
Hệ thống tệp cục bộ
Để sử dụng hệ thống này, chúng tôi phải sử dụng mã sau.
file_roots:
base:
- /srv/salt/prod
Hệ thống tệp Git
Để sử dụng hệ thống này, chúng tôi phải sử dụng mã sau.
gitfs_remotes:
- https://github.com/sample/sample1.git
Yêu cầu tệp
Salt có tùy chọn yêu cầu tệp cho các môi trường cụ thể.
salt://path/to/file?saltenv = base
Ở đây, môi trường được xác định bằng cách sử dụng tùy chọn root.
Cấu hình máy chủ tệp
Các tệp Salt có thể được phân bổ trong nhiều thư mục gốc và được truy cập bằng cách chỉ định cả đường dẫn tệp và môi trường để tìm kiếm. Các môi trường riêng lẻ có thể trải dài trên nhiều gốc thư mục.
Môi trường
Môi trường mặc định là cơ sở. Môi trường này được xác định và được sử dụng để tải xuống tệp khi không có môi trường nào khác được chỉ định.
file_roots:
base:
- /srv/salt/base
Bạn cũng có thể sử dụng nhiều môi trường như được hiển thị trong đoạn mã bên dưới.
file_roots:
base:
- /srv/salt/base
dev:
- /srv/salt/dev
- /srv/salt/base
Mô-đun CP
Mô-đun CP là mô-đun chính để thao tác Salt file server. Cácsalt-cp lệnh cũng có thể được sử dụng để phân phối các tệp được trình bày bởi máy chủ tệp Salt.
CÓ ĐƯỢC FILE
Các cp.get_filechức năng có thể được sử dụng trên minion để tải xuống tệp từ chính. Nó được định nghĩa như thể hiện trong khối mã sau.
salt '*' cp.get_file salt://vimrc /etc/vimrc
Lệnh trên hướng dẫn tất cả các tay sai của Salt tải xuống vimrc tập tin và sao chép nó vào /etc/vimrc.
Bật mẫu
Bạn có thể bật tùy chọn mẫu trong get_file như sau:
salt '*' cp.get_file "salt://vimrc" /etc/vimrc template = jinja
Áp dụng nén
Để sử dụng tính năng nén, hãy sử dụng gzipđối số được đặt tên. Các giá trị hợp lệ là các số nguyên từ 1 đến 9, trong đó 1 là độ nén tối thiểu và 9 là giá trị lớn nhất.
Lệnh được định nghĩa như sau:
salt '*' cp.get_file salt://vimrc /etc/vimrc gzip = 5
GET_DIR
Các cp.get_dirchức năng có thể được sử dụng trên minion để tải xuống toàn bộ thư mục từ chính. Nó được định nghĩa trong khối mã sau.
salt '*' cp.get_dir salt://etc/mysql /etc
Các cp.get_dirhỗ trợ hiển thị mẫu và đối số nén gzip. Nếu bạn muốn, bạn cũng có thể chỉ định.
Mô-đun FILECLIENT
Salt cung cấp một mô-đun python giúp truy cập vào máy chủ tệp muối. Cácsalt/fileclient.py mô-đun được sử dụng để thiết lập liên lạc từ minion đến master.
Mã mẫu để lấy tệp như sau:
import salt.minion
import salt.fileclient
def get_file(path, dest, saltenv = ‘base'):
client = salt.fileclient.get_file_client(__opts__)
return client.get_file(path, dest, true, saltenv)
Đây,
tùy chọn khả dụng khi mô-đun được chạy trong môi trường muối. Nếu không, chúng tôi nên cung cấp đường dẫn cấu hình -/etc/salt/minion.
path đề cập đến đường dẫn của tệp nguồn trong máy chủ tệp muối.
dest đề cập đến đường dẫn đích của tệp.
saltenv đề cập đến môi trường
Trong chương tiếp theo, chúng ta sẽ hiểu cách sử dụng Git làm máy chủ tệp.