SALTStack · 2 min read · Nov 07, 2025

Установка и использование SALTStack в смешанной среде

Установка и использование SALTStack в смешанной среде

Что такое Salt Stack?

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

Основная цель этого документа не просто установить SaltStack, так как это хорошо задокументировано в других источниках, а скорее дать вам небольшое представление о его удобстве.

Инфраструктура на основе SALT должна иметь Salt Master, который контролирует машины Salt Minions. С помощью Salt Master вы можете легко распределять команды непосредственно на Minions, как если бы это были команды консоли. Вы можете запускать/останавливать службы, развертывать/удалять пакеты, управлять конфигурациями и т.д.

Предварительные требования

Я создал виртуальную среду KVM в Fedora, основанную на документе Фалко.

На основе руководства Фалко по виртуализации я установил четыре виртуальные машины на базе KVM. Я создал три базовые установки Debian 7.1. Одну для Salt master и две для Salt minions. Я создал минимальную установку CentOS, чтобы быть миньоном, чтобы представить смешанную среду.

Во время работы я чувствую себя комфортно, постоянно будучи пользователем ROOT. (Не просто продолжать использовать sudo для каждой команды)

Тем не менее, я установил VIM и SCREEN для комфортной рабочей среды также

root@salt-master:/etc/apt# apt-get install screen vim
[root@salt-centos ~]# yum install screen vim

Настройка репозитория SALT STACK для Debian

Создание файла для репозитория salt в /etc/apt/sources.list.d/salt_repo.list

Вы можете просто скопировать + вставить, как я обычно делаю:

echo "deb http://debian.saltstack.com/debian wheezy-saltstack main" | tee /etc/apt/sources.list.d/salt_repo.list
wget -q -O- "http://debian.saltstack.com/debian-salt-team-joehealy.gpg.key" | apt-key add -
apt-get update

Настройка репозитория SALT STACK для CentOS

Включите EPEL:

rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm

УСТАНОВКА SALT STACK

Если у вас есть брандмауэр между Salt-master и его миньонами, откройте прослушивание на портах 4505 и 4506

УСТАНОВКА MASTER на Debian:

apt-get install salt-master -y

УСТАНОВКА MINION(ОВ) на Debian:

Существует несколько способов настройки миньонов для поиска salt-master.

Я думаю, что самый простой способ — сделать запись на каждом миньоне в /etc/hosts, которая указывает на его мастер.

В моем случае это:

echo "192.168.122.50 salt" >> /etc/hosts

и..

apt-get install salt-minion -y

УСТАНОВКА MINION(ОВ) на CentOS:

Существует несколько способов настройки миньонов для поиска salt-master.

Я думаю, что самый простой способ — сделать запись на каждом миньоне в /etc/hosts, которая указывает на его мастер.

В моем случае это:

echo "192.168.122.50 salt" >> /etc/hosts

после этого установите и запустите компоненты salt..

yum install salt-minion
chkconfig salt-minion on
service salt-minion start

Авторизуйте миньонов НА МАСТЕРЕ:

СЕЙЧАС миньоны пытаются авторизоваться по ключу на Salt-master.

На Salt-master вы можете увидеть миньона:

salt-key -L

На этот раз вы должны увидеть:

root@salt-master:~# salt-key -L
Accepted Keys:
Unaccepted Keys:
salt-centos
salt-minion1.test.local
salt-minion2.test.local
Rejected Keys:

Вы можете авторизовать их:

salt-key -A

И вы увидите результат, похожий на этот:

root@salt-master:~# salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
salt-centos
salt-minion1.test.local
salt-minion2.test.local
Proceed? [n/Y] y       
Key for minion salt-centos accepted.
Key for minion salt-minion1.test.local accepted.
Key for minion salt-minion2.test.local accepted.

Вы можете увидеть принятых миньонов:

root@salt-master:~# salt-key -L
Accepted Keys:
salt-centos
salt-minion1.test.local
salt-minion2.test.local
Unaccepted Keys:
Rejected Keys:

На данный момент у вас есть система, управляемая salt. Вы можете протестировать это:

salt '*' test.ping
root@salt-master:~# salt '*' test.ping
salt-minion1.test.local:
    True
salt-minion2.test.local:
    True
salt-centos:
    True

Установка выполнена успешно, давайте посмотрим, как мы можем это использовать.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.