Настройка SaltStack

Настройка конфигурации Мастера и Миньонов

Salt-Мастер настраивается через главный файл конфигурации. По умолчанию файл конфигурации хранится в директории /etc/salt/master. В данном файле необходимо выполнить настройку, которая обеспечит трансляцию событий на узел Master of Masters (MoM): syndic_forward_all_events: True.

Salt-Миньон настраивается через файл конфигурации. По умолчанию файл конфигурации хранится в директории /etc/salt/minion.

Подробную информацию см. в официальной документации.

Создание хранилища Pillar

В директорию /master/roots/pillar добавьте файлы:

  • top.sls —  основной файл конфигурации:

    base:
      "*":
        - state-highstate-schedule
        - grains-common-schedule
  • grains-common-schedule.sls — задает расписание запуска выполнения задач на Миньонах

    schedule:
      get-common-grains:
        enabled: true
        function: grains.item
        seconds: 120
        splay: 10
        metadata:
          get-common-grains: true
        args:
          - fqdn
          - fqdn_ip4
          - lsb_distrib_description
          - cpu_model
          - disks
          - domain
          - hwaddr_interfaces
          - id
          - ip4_gw
          - ip4_interfaces
          - ip6_interfaces
          - kernel
          - kernelrelease
          - lsb_distrib_codename
          - master
          - mem_total
          - nodename
          - num_cpus
          - oscodename
          - osfullname
          - osmajorrelease
          - osrelease
          - pythonexecutable
          - saltversion
          - serialnumber
          - ssds
          - swap_total

    Где:

    • schedule/get-common-grains/enabled:

      • true — задача включена;

      • false — задача выключена;

    • schedule/get-common-grains/function — задает функцию SaltStack, которая будет вызвана при выполнении задачи;

    • schedule/get-common-grains/seconds — определяет, через какой интервал времени будет выполняться задача;

    • schedule/get-common-grains/splay — указывает, на какой интервал времени может быть случайная задержка перед выполнением задачи;

    • schedule/get-common-grains/metadata/get-common-grains — содержит метаданные задачи;

    • args — дополнительные аргументы для функции grains.item.

    • state-highstate-schedule.sls — задает расписание запуска высокоуровневых состояний (highstate) на Миньонах:

    schedule:
      apply-state-highstate:
        enabled: true
        run_on_start: true
        function: state.highstate
        seconds: 180
        splay: 30
        metadata:
          apply-state-highstate: true

    Пример:

    tree /srv/pillar/
    /srv/pillar/
    ├── grains-common-schedule.sls
    ├── state-highstate-schedule.sls
    └── top.sls

Добавление формул

  1. В файле file_roots.conf, который определяет корневую директорию для файловых серверов Salt, укажите путь к файлам конфигурации:

    Пример:

    file_roots:
      base:
        - /home/salt/data/srv/salt
        - /home/salt/data/formulas/ark-formula
        - /home/salt/data/formulas/ca-cert-formula
        - /home/salt/data/formulas/yandex-browser-formula
        - /home/salt/data/formulas/deb-repo-formula
        - /home/salt/data/formulas/google-chrome-formula
        - /home/salt/data/formulas/okular-formula

    Файл конфигурации:

    # /srv/salt/top.sls
    base:
      '*':
        - ark-formula
        - ca-cert-formula
        - yandex-browser-formula
        - deb-repo-formula
        - google-chrome-formula
        - okular-formula
  2. Выполните команду, чтобы распаковать архив в директорию file_roots базового окружения (по умолчанию — /srv/salt).

    Пример:

    tar -xvf ~/Downloads/salt-formulas-package-0.5.0.tar.gz \
        --strip-components 3 \
        -C /srv/salt \
        ./formulas/ark-formula/ark \
        ./formulas/ca-cert-formula/ca-cert \
        ./formulas/okular-formula/okular \
        ./formulas/yandex-browser-formula/yandex-browser \
        ./formulas/deb-repo-formula/deb-repo \
        ./formulas/google-chrome-formula/google-chrome

    Данная команда распаковывает архив salt-formulas-package-0.5.0.tar.gz, который содержит формулы SaltStack, в директорию /srv/salt. Опция --strip-components 3 указывает на то, что необходимо удалить первые три компонента пути внутри архива (например, если путь внутри архива выглядит как /formulas/ark-formula/ark, то после применения этой опции путь будет выглядеть как ./ark). В результате в директории /srv/salt будет создана поддиректория ./formulas/ark-formula/ark, содержащая файлы формулы ark-formula.