Файловый сервер Salt является сервером ZeroMQ без сохранения состояния. Он встроен в мастера соли. Файловый сервер Salt используется для распространения файлов от мастера к миньонам. Он содержит разные модули. Давайте разберемся в этой главе с файловым сервером соли, его конфигурацией, модулями, относящимися к файловому серверу соли, как получить доступ к файловому серверу соли в Python и т. Д.
Бэкэнд файлового сервера
Бэкэнд файлового сервера позволяет файловому серверу Salt выступать в качестве прозрачного интерфейса с другим файловым сервером, таким как локальная файловая система, система контроля версий Git и т. Д.
Бэкэнд файлового сервера Git можно включить с помощью следующей конфигурации в мастер-файле.
fileserver_backend: - git
Чтобы включить файловую систему с несколькими бэкэндами, мы можем использовать следующую конфигурацию.
fileserver_backend: - roots - git
Мы также можем указать дополнительную опцию для другого внутреннего сервера, используя определенный раздел соответствующего внутреннего сервера.
Локальная файловая система
Для использования этой системы мы должны использовать следующий код.
file_roots: base: - /srv/salt/prod
Git File System
Для использования этой системы мы должны использовать следующий код.
gitfs_remotes: - https://github.com/sample/sample1.git
Запрашиваемые файлы
Соль имеет возможность запрашивать файлы для конкретных сред.
salt://path/to/file?saltenv = base
Здесь среда определяется с помощью параметра корней.
Конфигурация файлового сервера
Солевые файлы могут быть размещены во многих корневых каталогах и доступны, указав путь к файлу и среду для поиска. Отдельные среды могут охватывать несколько корней каталогов.
Среда
Среда по умолчанию является базовой. Эта среда определена и используется для загрузки файлов, когда не указана другая среда.
file_roots: base: - /srv/salt/base
Вы также можете использовать несколько сред, как показано в коде ниже.
file_roots: base: - /srv/salt/base dev: - /srv/salt/dev - /srv/salt/base
Модуль CP
Модуль CP является основным модулем для управления файловым сервером Salt . Команда salt-cp также может использоваться для распространения файлов, представленных файловым сервером Salt.
ПОЛУЧИТЬ ФАЙЛ
Функция cp.get_file может использоваться на миньоне для загрузки файла с мастера. Это определяется, как показано в следующем блоке кода.
salt '*' cp.get_file salt://vimrc /etc/vimrc
Приведенная выше команда инструктирует всех миньонов Salt скачать файл vimrc и скопировать его в / etc / vimrc .
Включить шаблон
Вы можете включить параметр шаблона в get_file следующим образом:
salt '*' cp.get_file "salt://vimrc" /etc/vimrc template = jinja
Применить сжатие
Чтобы использовать сжатие, используйте именованный аргумент gzip . Допустимые значения — целые числа от 1 до 9, где 1 — минимальное сжатие, а 9 — максимальное значение.
Команда определяется следующим образом:
salt '*' cp.get_file salt://vimrc /etc/vimrc gzip = 5
GET_DIR
Функция cp.get_dir может использоваться на миньоне для загрузки всего каталога с мастера. Это определено в следующем блоке кода.
salt '*' cp.get_dir salt://etc/mysql /etc
Cp.get_dir поддерживает аргументы рендеринга шаблонов и сжатия gzip. Если вы хотите, вы также можете назначить.
Модуль FILECLIENT
Salt предоставляет модуль python, который помогает получить доступ к файловому серверу соли. Модуль salt / fileclient.py используется для настройки связи от миньона к мастеру.
Пример кода для получения файлов выглядит следующим образом:
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)
Вот,
-
Опция доступна, когда модуль работает в солевой среде. В противном случае мы должны указать путь к конфигурации — / etc / salt / minion .
-
путь указывает на путь к исходному файлу на файловом сервере соли.
-
dest указывает путь к файлу назначения.
-
saltenv относится к окружающей среде
Опция доступна, когда модуль работает в солевой среде. В противном случае мы должны указать путь к конфигурации — / etc / salt / minion .
путь указывает на путь к исходному файлу на файловом сервере соли.
dest указывает путь к файлу назначения.
saltenv относится к окружающей среде
В следующей главе мы поймем, как использовать Git в качестве файлового сервера.