Учебники

SaltStack — менеджер пакетов соли

Формулы соли упаковываются и распространяются среди мастеров соли с помощью менеджера пакетов. На эту концепцию повлияли упаковочные системы RPM , Yum и Pacman . Состояние соли, столб, шаблоны файлов и другие файлы используются формулой, а затем упаковываются в один файл.

После создания пакета формул он копируется в систему репозитория, чтобы использовать его для мастеров соли. Прежде чем перейти к менеджеру пакетов, давайте посмотрим, как установить пакет «nginx» с помощью базовой команды Salt.

Следующий синтаксис используется для установки пакета «nginx».

root@saltmaster:/home/vagrant# salt '*' pkg.install nginx

Здесь для установки пакета используется команда pkg.install nginx . После выполнения вы увидите следующий ответ.

Это даст следующий результат

minion2:
   ----------
   httpd:
      ----------
      new:
         1
      old:
   httpd-cgi:
      ----------
      new:
         1
      old:
   libxslt1.1:
      ----------
      new:
         1.1.28-2build1
      old:
   nginx:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:
   nginx-common:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:
   nginx-core:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:
minion1:
   ----------
   httpd:
      ----------
      new:
         1
      old:
   httpd-cgi:
      ----------
      new:
         1
      old:
   libxslt1.1:
      ----------
      new:
         1.1.28-2build1
      old:
   nginx:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:
   nginx-common:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:
   nginx-core:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:

Теперь вы установили пакет. Чтобы запустить службы для этого пакета, используйте команду, приведенную ниже.

root@saltmaster:/home/vagrant# salt '*' service.start nginx

После выполнения этой команды результат выглядит так, как показано в блоке кода ниже.

minion1:
   True
minion2:
   True

Поэтому мы установили и запустили службы для пакета «nginx» с помощью базовой команды. Давайте теперь обсудим, как собирать и устанавливать пакеты в менеджере пакетов Salt.

Строительные пакеты

Пакеты могут быть собраны в любой системе, где вы можете установить Salt. Есть три типа пакетов, и они следующие.

  • формула
  • Реактор
  • конф

Давайте теперь поймем, как создавать пакеты, используя Fomula File.

Файл формулы

Большинство файлов из пакета по умолчанию находятся в каталоге — / srv / spm / salt /, но файл pillar можно поместить в каталог — / srv / spm / pillar /. Файл формулы описывает пакет.

пример

name: apache
os: RedHat
os_family: RedHat
version: 201607
release: 2
summary: Formula for installing Apache
description: Formula for installing Apache

Вот,

  • Имя — название пакета. Здесь имя пакета — apache .

  • os — используется для определения того, какие операционные системы могут поддерживать этот пакет.

  • os_family — используется для определения того, какие семейства операционных систем могут поддерживать этот пакет.

  • Версия — версия пакета. Указывается в формате ГГГГММ.

  • Выпуск — это поле относится в основном к выпуску версии.

  • Краткое содержание — краткое описание пакета.

  • Описание — более подробное описание пакета.

Имя — название пакета. Здесь имя пакета — apache .

os — используется для определения того, какие операционные системы могут поддерживать этот пакет.

os_family — используется для определения того, какие семейства операционных систем могут поддерживать этот пакет.

Версия — версия пакета. Указывается в формате ГГГГММ.

Выпуск — это поле относится в основном к выпуску версии.

Краткое содержание — краткое описание пакета.

Описание — более подробное описание пакета.

РЕАКТОР

Файлы реактора находятся в каталоге / srv / spm / реактор / .

CONF

Файлы в пакете этого типа являются файлами конфигурации для Salt, которые обычно находятся в каталоге / etc / salt / . Файлы конфигурации для пакетов, отличных от Salt, могут и должны обрабатываться с помощью Salt State (используя пакетный тип формулы).

Давайте продолжим со следующими шагами для создания пакета.

  • Создайте файл FORMULA и поместите его в корень папки пакета.

  • Соберите файлы формул в папке в системе сборки.

  • Запустите spm build . Пакет собран и помещен в папку / srv / spm_build. Следующая команда используется для сборки пакета.

Создайте файл FORMULA и поместите его в корень папки пакета.

Соберите файлы формул в папке в системе сборки.

Запустите spm build . Пакет собран и помещен в папку / srv / spm_build. Следующая команда используется для сборки пакета.

spm build /path/to/salt-packages-source/formula
  • Теперь скопируйте файл .spm в папку в системе хранилища.

  • Вы можете открыть общий доступ к папке srv / spm_build в сети или скопировать файлы на свой FTP или веб-сервер .

  • Сгенерируйте метаданные репо, используя следующую команду.

Теперь скопируйте файл .spm в папку в системе хранилища.

Вы можете открыть общий доступ к папке srv / spm_build в сети или скопировать файлы на свой FTP или веб-сервер .

Сгенерируйте метаданные репо, используя следующую команду.

spm create_repo /srv/spm_build

Установка пакетов

В этом разделе рассказывается об установке пакетов менеджера пакетов Salt.

Настроить удаленные репозитории

Чтобы настроить удаленные репозитории, Salt Master должен знать, где находится репозиторий в процессе настройки.

Файлы находятся в каталоге /etc/salt/spm.repos.d/spm.repo .

пример

file_repository:
   url: https://spm.example.com/

Здесь файл содержит имя хранилища и ссылку на хранилище. Вы также можете использовать http, https, ftp или путь к файлу. Чтобы использовать путь к файлу, вы можете получить к нему доступ с помощью URL: file: /// srv / spm_build.

Обновить метаданные

После того, как хранилище сконфигурировано на главном сервере Salt, метаданные хранилища загружаются с помощью приведенной ниже команды.

spm update_repo

Обновить корни файлов

Пакеты SPM находятся в каталоге srv / spm / salt. Добавьте следующий путь к корням файла на мастере соли,

file_roots:
   base:
      1. /srv/salt
      2. /srv/spm/salt

Теперь перезапустите мастер соли.

Установить пакет Apache

Чтобы установить пакет apache, используйте следующую команду.

spm install apache

Вы также можете установить непосредственно из файла SPM с помощью команды ниже.

spm local install /srv/spm/apache-201607-1.spm

Удаление пакета

Чтобы удалить пакет, например — apache, используйте следующую команду:

spm remove apache

Обратите внимание, что если какие-либо файлы были изменены, они не будут удалены.