Учебники

SaltStack — соляной файловый сервер

Файловый сервер 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 в качестве файлового сервера.