SaltStack - файловый сервер Salt
Файловый сервер Salt - это сервер ZeroMQ без сохранения состояния. Он встроен в мастер соли. Файловый сервер Salt используется для передачи файлов от мастера к миньонам. Он содержит разные модули. В этой главе давайте разберемся с файловым сервером соли, его конфигурацией, модулями, относящимися к файловому серверу соли, как получить доступ к файловому серверу соли в Python и т.д.
Бэкэнд файлового сервера
Бэкэнд файлового сервера позволяет файловому серверу Salt действовать как прозрачный интерфейс для другого файлового сервера, такого как локальная файловая система, система контроля версий Git и т. Д.
Бэкэнд файлового сервера Git можно включить, используя следующую конфигурацию в главном файле.
fileserver_backend:
- git
Чтобы включить несколько серверных файловых систем, мы можем использовать следующую конфигурацию.
fileserver_backend:
- roots
- git
Мы также можем указать дополнительную опцию для другого внутреннего сервера, используя конкретный раздел соответствующего внутреннего сервера.
Локальная файловая система
Для использования этой системы мы должны использовать следующий код.
file_roots:
base:
- /srv/salt/prod
Файловая система Git
Для использования этой системы мы должны использовать следующий код.
gitfs_remotes:
- https://github.com/sample/sample1.git
Запрос файлов
У Salt есть возможность запрашивать файлы для определенных сред.
salt://path/to/file?saltenv = base
Здесь среда определяется с помощью параметра root.
Конфигурация файлового сервера
Файлы Salt могут быть размещены во многих корневых каталогах, и к ним можно получить доступ, указав путь к файлу и среду для поиска. Отдельные среды могут охватывать несколько корней каталогов.
Окружающая обстановка
Среда по умолчанию - базовая. Эта среда определена и используется для загрузки файлов, когда не указана другая среда.
file_roots:
base:
- /srv/salt/base
Вы также можете использовать несколько сред, как показано в приведенном ниже коде.
file_roots:
base:
- /srv/salt/base
dev:
- /srv/salt/dev
- /srv/salt/base
Модуль CP
Модуль CP - это основной модуль для управления Salt file server. В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)
Вот,
opts доступен, когда модуль запущен в солевой среде. В противном случае мы должны предоставить путь конфигурации -/etc/salt/minion.
path относится к пути к исходному файлу на файловом сервере соли.
dest относится к пути назначения файла.
saltenv относится к окружающей среде
В следующей главе мы поймем, как использовать Git как файловый сервер.