Учебники

SaltStack — Соли Прокси Миньонов

Существует множество устройств, таких как маршрутизатор, сетевое оборудование и т. Д., Имеющих собственную ОС, ограниченную память и соображения высокой безопасности. В этих устройствах мы не смогли установить стандартный соляной миньон и впоследствии не смогли управлять этими системами. Однако Salt предлагает инновационную технологию для преодоления этого ограничения.

Salt имеет отдельный модуль, Salon Proxy Minion, который управляет удаленной системой с помощью службы REST, работающей в удаленной системе. Эта служба REST является веб-службой на основе HTTP, написанной с использованием концепции репрезентативной передачи состояния (REST), и они просты в реализации и использовании.

Каждое устройство будет иметь свой собственный SDK и среду разработки для написания сложных приложений. Солт ожидает, что служба REST будет разработана в устройстве согласно спецификации интерфейса Солт. Солт также предоставляет модуль Python для написания веб-службы REST. Если устройство поддерживает python, тогда будет легко разработать веб-сервис REST.

Как только веб-служба REST разработана и развернута в удаленной системе, Salt можно настроить для управления удаленным устройством с помощью веб-службы REST вместо соли-миньона.

Рабочий пример

Давайте изучим концепцию соляных миньонов, используя живую рабочую среду. Для живого окружения мы выбрали систему Linux как для главного, так и для прокси-миньонов. Мы собираемся управлять системой, используя веб-сервис REST вместо соли-миньона.

Установите и настройте REST Web Service

Salt предоставляет пример реализации веб-службы REST, который в своем модуле contrib называется proxyminion_rest_example. Давайте установим образец веб-сервиса.

  • Установите «бутылку» с помощью пипса. Команда bottle — это веб-фреймворк Python для разработки веб-приложения.

Установите «бутылку» с помощью пипса. Команда bottle — это веб-фреймворк Python для разработки веб-приложения.

pip install bottle = 0.12.8
  • Загрузите проект salttack / salt-contrib from github. В противном случае клонируйте проект с помощью следующей команды.

Загрузите проект salttack / salt-contrib from github. В противном случае клонируйте проект с помощью следующей команды.

git clone https://github.com/saltstack/salt-contrib
  • Откройте терминал и перейдите в каталог salt-contrib .

  • Этот каталог солей-вкладов будет иметь папку proxyminion_rest_example . В этой папке содержится пример реализации веб-службы REST. Перейдите в папку proxyminion_rest_example.

  • Выполните следующую команду, чтобы запустить веб-службу REST.

Откройте терминал и перейдите в каталог salt-contrib .

Этот каталог солей-вкладов будет иметь папку proxyminion_rest_example . В этой папке содержится пример реализации веб-службы REST. Перейдите в папку proxyminion_rest_example.

Выполните следующую команду, чтобы запустить веб-службу REST.

python rest.py --address <your ip address> --port 8000
  • Откройте браузер и загрузите http: // «ваш ip адрес»: 8000. Это покажет страницу по умолчанию со службами и пакетами, как показано на скриншоте ниже.

Откройте браузер и загрузите http: // «ваш ip адрес»: 8000. Это покажет страницу по умолчанию со службами и пакетами, как показано на скриншоте ниже.

REST Web Service

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

Настроить Salt-Proxy

Чтобы настроить Salt-Proxy, мы должны выполнить шаги, указанные ниже.

  • Мы должны указать главный узел для соли-прокси. Отредактируйте расположение файла конфигурации прокси, которое находится в / etc / salt / proxy, и введите следующий код.

Мы должны указать главный узел для соли-прокси. Отредактируйте расположение файла конфигурации прокси, которое находится в / etc / salt / proxy, и введите следующий код.

master: <your ip address>
  • Измените / создайте файл базового уровня в /srv/pillar/top.sls, как показано в следующем блоке кода.

Измените / создайте файл базового уровня в /srv/pillar/top.sls, как показано в следующем блоке кода.

base:
  'p8000':
      - p8000
  • Добавьте новый файл pillar p8000.sls в / srv / pillar, как показано в блоке кода ниже.

Добавьте новый файл pillar p8000.sls в / srv / pillar, как показано в блоке кода ниже.

proxy:
   proxytype: rest_sample
   url: http://<your ip address>:8000
  • Запустите salt-proxy в режиме отладки, используя следующую команду.

Запустите salt-proxy в режиме отладки, используя следующую команду.

salt-proxy --proxyid = p8000 -l debug
  • Как и соль-миньон, примите солт-прокси ключ, как показано ниже.

Как и соль-миньон, примите солт-прокси ключ, как показано ниже.

salt-key -y -a p8000

The following keys are going to be accepted:
Unaccepted Keys:
p8000
Key for minion p8000 accepted.

Соль

Теперь запустите команду salt и вызовите функцию ping.test, как показано ниже.

salt p8000 test.ping

Мы можем запустить любую функцию, поддерживаемую веб-сервисом REST, используя salt , который похож на salt-minion .

Например, информация о зерне может быть получена с помощью следующей команды.