Существует множество устройств, таких как маршрутизатор, сетевое оборудование и т. Д., Имеющих собственную ОС, ограниченную память и соображения высокой безопасности. В этих устройствах мы не смогли установить стандартный соляной миньон и впоследствии не смогли управлять этими системами. Однако 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, и она проверит, как настроить солевой прокси-сервер для запроса веб-службы 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 .
Например, информация о зерне может быть получена с помощью следующей команды.