Установка SaltStack · 6 min read · Oct 27, 2025
Как установить фреймворк автоматизации IT SaltStack на Debian 12

Salt или Saltstack — это фреймворк автоматизации IT с открытым исходным кодом, написанный на Python. Он позволяет администраторам выполнять команды удаленно на нескольких машинах напрямую.
Salt разработан с архитектурой Master и Minion. Salt master — это центральный контроллер управления конфигурацией Salt, а Minions — это серверы, управляемые Salt master, или вы называете миньонов целевыми серверами.
В этом руководстве мы покажем вам, как установить SaltStack на серверах Debian 12. Мы покажем вам, как установить Salt Master и Minion, как выполнять произвольные команды через Salt, а затем создать первое состояние Salt для установки LAMP Stack.
Предварительные требования
Перед тем как начать, убедитесь, что у вас есть следующее:
- Два или три сервера Debian 12 — в этом примере мы будем использовать master сервер на 192.168.5.15 и minion1 сервер на 192.168.5.21.
- Непользователь с правами администратора.
Настройка файла /etc/hosts
В этом разделе вы настроите файл /etc/hosts, чтобы каждый сервер мог подключаться по имени хоста, что проще, чем использовать IP-адрес.
Откройте файл /etc/hosts с помощью следующего редактора nano.
sudo nano /etc/hostsВставьте детали хоста и IP-адрес в файл. Убедитесь, что вы изменили IP-адреса и имена хостов на свои данные.
192.168.5.15 master
192.168.5.21 minion1Сохраните и выйдите из файла, когда закончите.
Добавление репозитория SaltStack
После настройки файла /etc/hosts вы должны добавить репозиторий SaltStack на все ваши серверы Debian. SaltStack предоставляет официальный репозиторий для большинства дистрибутивов Linux, включая последний Debian 12.
Сначала создайте новый каталог /etc/apt/keyrings с помощью команды ниже.
mkdir /etc/apt/keyringsСкачайте GPG-ключ для репозитория SaltStack с помощью команды ниже.
sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg https://repo.saltproject.io/salt/py3/debian/12/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpgПосле загрузки GPG-ключа добавьте репозиторий SaltStack с помощью следующей команды.
echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] https://repo.saltproject.io/salt/py3/debian/12/amd64/latest bookworm main" | sudo tee /etc/apt/sources.list.d/salt.listТеперь обновите и обновите индекс пакетов Debian.
sudo apt updateВы можете увидеть ниже добавленный репозиторий SaltStack на серверах Debian.

Настройка UFW
В этом примере вы настроите и включите UFW (Uncomplicated Firewall) на ваших серверах Debian. Итак, вы установите UFW, откроете SSH-порт, затем запустите и включите UFW.
Установите UFW на вашу систему Debian с помощью команды ниже.
sudo apt install ufw -yПосле установки UFW выполните следующую команду, чтобы включить профиль приложения OpenSSH. Вы увидите вывод Правила добавлены.
sudo ufw allow OpenSSHТеперь включите UFW с помощью команды ниже. Введите y для подтверждения, запуска и включения UFW.
sudo ufw enableВы получите вывод ‘Брандмауэр активен …‘, как только UFW будет запущен и включен.
Установка Salt Master
После выполнения задач выше вы готовы установить SaltStack. Вы установите и настроите Salt Master на сервере master.
На сервере master выполните команду ниже, чтобы установить пакет salt-master. Введите Y для подтверждения установки.
sudo apt install salt-master
После завершения установки откройте конфигурацию по умолчанию Salt Master /etc/salt/master с помощью команды редактора nano ниже.
sudo nano /etc/salt/masterИзмените значение interface по умолчанию на ваш локальный IP-адрес. В этом примере IP-адрес сервера master 192.168.5.15.
interface: 192.168.5.15Сохраните файл и выйдите, когда закончите.
Теперь выполните команду ниже, чтобы перезапустить службу salt-master и применить ваши изменения.
sudo systemctl restart salt-masterЗатем проверьте службу salt-master, чтобы убедиться, что служба работает.
sudo systemctl status salt-masterЕсли служба работает, вы увидите вывод, такой как active (running).

Далее выполните команду ниже, чтобы открыть TCP-порты 4505 и 4506, которые будет использовать Salt Master.
sudo ufw allow 4505,4506/tcpНаконец, проверьте список портов на вашем сервере master с помощью команды ниже. Убедитесь, что доступ к портам 4505 и 4506 разрешен.
sudo ufw status
Установка Salt Minion
Теперь, когда вы настроили Salt Master, перейдите к настройке Salt Minion на сервере minion1. Вы установите salt-minion, а затем настроите его для подключения к серверу Salt Master.
Установите пакет salt-minion на сервер minion1 с помощью команды ниже. Введите Y для подтверждения установки.
sudo apt install salt-minion
После завершения установки откройте конфигурацию Salt Minion /etc/salt/minion с помощью команды редактора nano.
sudo nano /etc/salt/minionВведите IP-адрес вашего Salt Master в параметр master, как показано ниже:
master: 192.168.5.15Сохраните файл и выйдите из редактора.
Далее выполните команду ниже, чтобы перезапустить службу salt-minion и применить ваши изменения.
sudo systemctl restart salt-minionНаконец, проверьте службу salt-minion, чтобы убедиться, что служба работает. Salt Minion автоматически зарегистрируется на сервере Salt Master.
sudo systemctl status salt-minionУбедитесь, что служба salt-minion работает, как показано ниже:

Добавление Salt Minion в Salt Master
После настройки Salt Minion вам все еще нужно принять ключ регистрации от серверов Minion.
Сначала выполните команду ниже, чтобы проверить список ключей на сервере master.
salt-key --finger-allЕсли все пройдет хорошо, вы увидите ключ для сервера minion1 или серверов Salt Minion.
Теперь выполните команду ниже, чтобы принять ключ для сервера minion1. Введите Y для подтверждения и принятия ключа.
salt-key -a minion1Далее снова проверьте список ключей на сервере minion1. Вы увидите ключ для сервера minion1 в разделе Accepted Keys.
salt-key --finger-all
Теперь вы можете протестировать соединение с сервером Salt Minion, используя команду. Вы можете указать целевой сервер с именем хоста или использовать символ ‘*’ для нацеливания на все доступные серверы Salt Minion.
salt minion1 test.ping
salt * test.pingЕсли соединение с Salt Minion успешно, вы увидите вывод ‘True‘.
Наконец, проверьте версию Salt с помощью команды ниже.
salt minion1 test.versionВ этом примере установлен Salt Minion 3007.0.

Выполнение произвольной команды через SaltStack
С учетом всего настроенного, вы протестируете установку SaltStack, выполнив произвольную команду на сервере minion1 с сервера master.
Выполните команду ниже, чтобы обновить индекс пакетов репозитория для серверов Minion.
salt '*' pkg.refresh_dbТеперь выполните команду ниже для обновления пакетов на целевом сервере.
salt '*' pkg.list_upgradesДалее выполните следующую команду, чтобы показать информацию о пакете apache2.
salt '*' pkg.show apache2Чтобы проверить запущенные службы на сервере Minion, выполните команду ниже.
salt '*' service.get_running
salt '*' service.execsСоздание состояния Salt для установки LAMP Stack
В этом разделе вы узнаете, как создать первое состояние Salt для установки LAMP Stack (Apache, MariaDB и PHP) на сервер minion1.
Сначала создайте новый каталог /srv/salt/lamp с помощью команды ниже.
mkdir -p /srv/salt/lampТеперь создайте новый файл состояния Salt init /srv/salt/lamp/init.sls с помощью следующего редактора nano.
nano /srv/salt/lamp/init.slsДобавьте конфигурацию ниже в файл. С помощью этого вы установите LAMP Stack (Apache, MariaDB и PHP) на целевом сервере.
lamp_stack:
pkg.installed:
- pkgs:
- apache2
- mariadb-server
- php
- libapache2-mod-php
apache2:
service.running:
- enable: True
- reload: True
mariadb:
service.running:
- enable: True
- reload: TrueСохраните файл и выйдите.
Теперь выполните команду ниже, чтобы проверить вашу конфигурацию состояния Salt на Salt Minion. Убедитесь, что у вас нет ошибок.
sudo salt * state.show_sls lamp
Далее выполните команду ниже, чтобы применить состояние Salt ‘lamp‘ к серверу minion1.
sudo salt minion1 state.apply lampКогда процесс завершится, вы получите следующий вывод:

Наконец, выполните команду ниже, чтобы проверить службы Apache и MariaDB на сервере minion1.
salt '*' service.get_runningУбедитесь, что обе службы apache2 и mariadb работают.

Заключение
Поздравляем! Вы завершили установку SaltStack (Salt Master и Minion) на серверах Debian 12. Вы также узнали, как выполнять произвольные команды на серверах Minion и создали первое состояние Salt для установки LAMP Stack (Apache2, MariaDB и PHP).
Get new posts in your inbox
No spam. Unsubscribe anytime.