Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Panel

Table of Contents

Общие сведения

С помощью Artix:помощью Artix Control Center можно централизованно управлять конфигурациями касс (настраивать различные параметры, отвечающие за поведение касс) и отслеживать состояние касс. Для обеспечения данного функционала требуется:

  1. Установить puppet сервер.
  2. Настроить подключение КС с puppet сервером.
    Подключение к Puppet серверу задается в настройках Artix:настройках Artix Control Center пункт "Паппет":
    Image RemovedImage Added
  3. Установить пакет artixcs-puppet-objects на машину, где установлен КС.

    Code Block
    sudo apt-get install artixcs-puppet-objects


  4. Перезапустить КС.
  5. Можно приступать к конфигурированию касс.

...

  • классы - это инструкции с параметрами, которые будут выполняться на puppet узлах (кассах) для доведения узла до нужного состояния. Для удобства классы разбиты на группы. Например, в группе “Лояльность” есть несколько классов, которые отвечают за настройку разных систем лояльностей - “Купоны”, “Подарочные сертификаты”, “Внутренняя лояльность” и т.д.
  • глобальные параметры - это параметры, которые имеют одинаковое значение для всех классов, использующих их, если они не переопределены в конфигурационных метках. Поэтому при необходимости можно настроить их значения по умолчанию умолчанию либо каждый раз в конфигурационных метках указывать значения для соответствующих параметров.
  • факты - это инструкции, которые выполняются на puppet узлах (кассах), чтобы вернуть на puppet сервер значение чего-либо, отражающее состояние узла. Факты возвращаются в формате “ключ - значение” и могут использоваться в классах как глобальные переменные для того, чтобы настроить puppet узел (кассу) в соответствии с полученным значением.
    Существуют системные и пользовательские факты:
    • системные факты - это стандартные факты, которые всегда возвращаются puppet узлом (например, какая операционная система, сколько оперативной памяти у узла и т.д.);
    • пользовательские факты - это дополнительные факты, которые запрашиваются с puppet узлов вместе с системными. Например, через пользовательские факты запрашивается список установленных пакетов Artix, в результате чего в ключе возвращается название установленного artix пакета, в значении - версия.
Info

Факты, группы классов, классы и глобальные параметры поставляются через пакеты. Не рекомендуется изменять или удалять их, т.к. это может повлиять на корректную работу конфигурирования puppet узлов (касс). При необходимости добавления функционала для конфигурирования следует обратиться в службу технической поддержки Artix.

Конфигурирование puppet узлов (касс)

Для конфигурирования puppet узлов (касс) требуется:

  1. Создать конфигурационные метки на основе имеющихся классов. Чтобы настроить один из классов, требуется создать конфигурационную метку - это совокупность значений параметров одного класса. У классов есть обязательные и необязательные для заполнения параметры, а также у многих параметров есть значение по умолчанию. В конфигурационной метке каждый параметр может быть переопределен либо оставлен без изменений, если есть значение по умолчанию или значение параметра необязательно для заполнения. Одна конфигурационная метка может настраивать только один класс, но для одного класса может быть создано несколько конфигурационных меток. Например, если на разных кассах используются разные ФР, то для них можно создать разные конфигурационные метки, настраивающие один и тот же класс “Конфигурирование ФР”.
  2. Создать конфигурации на основе конфигурационных меток. Конфигурация - это совокупность конфигурационных меток. Она определяет итоговое состояние puppet узла (кассы), до которого он должен быть доведен. При создании конфигурации указывается версия кассы, которая будет установлена при применении данной конфигурации. После заполнения версии будет предоставлен список конфигурационных меток, которые можно назначить для соответствующей версии кассы.
  3. Распространить изменения до нужного окружения. Окружение представляет собой изолированное состояние конфигураций (вместе с классами, глобальными параметрами, фактами, конфигурационными метками) на определенный момент времени. Использование окружений помогает обезопасить некорректное конфигурирование “боевых” puppet узлов (касс). По умолчанию предоставляется 4 окружения:
    • "Разработка" - вся работа по настройке и созданию конфигураций выполняется в этом окружении. Конфигурации из этого окружения не могут быть назначены на узлы (кассы).
    • "Тестовое" - после того, как конфигурации окончательно настроены в окружении “Разработка”, все изменения требуется распространить в это окружение и назначить соответствующие конфигурации на тестовые узлы (кассы).
    • "Пилотное" - если конфигурации из окружения “Тестовое” корректно применились на тестовых узлах (кассах) и работа узлов (касс) соответствует ожидаемому поведению, то все изменения из окружения “Тестовое” можно распространить в данное окружение и назначить соответствующие конфигурации на узлы (кассы), которые выделены в качестве тестовых, но реально используемых.
    • "Боевое" - если реально используемые тестовые узлы (кассы) с примененными конфигурациями из окружения “Пилотное” поработали отведенное время без ошибок, то все изменения из окружения “Пилотное” можно распространить в данное окружение и назначить соответствующие конфигурации на оставшиеся реально используемые узлы (кассы).

      Info
      Любое изменение в окружении “Разработка” требуется распространять через всю цепочку окружений. Это сделано для избежания некорректной настройки узлов (касс), т.к. торговые сети могут понести большие убытки.


  4. Назначить конфигурации на кассы и произвести стыковку кассы и КС. На кассы могут быть назначены конфигурации из всех окружений, кроме “Разработка”.
  5. Также допускается изменение значений по умолчанию для переопределение глобальных параметров.

Anchor
стыковкакассыикс
стыковкакассыикс
Стыковка кассы и кассового сервера

Info

При первом запуске кассы после ее установки puppet не нужно настраивать.

  1. Добавьте кассу на КС. Подробнее об этом можно прочитать в разделе "Архитектура торговой сети".
  2. На кассе в конце файла /etc/hosts добавить строчку:

    No Format
    languagebash
    192.169.10.71 puppet

     

  3. Проверьте связь с puppet сервером с помощью команды:

    Code Block
    languagebash
    ping puppet


  4. В конфигурационный файл /etc/puppet/puppet.conf добавьте секцию [agent]. В параметре certname укажите ID кассы с кассового сервера:

    Image Removed

    Image Added

    Info
    В настройку certname из секции [main] изменения не вносим.


    No Format
    [main]
    logdir = /var/log/puppet
    vardir = /var/lib/puppet
    ssldir = /var/lib/puppet/ssl
    rundir = /var/run/puppet
    factpath = $vardir/lib/facter
    templatedir = $confdir/templates
    certname = cash-1-1
    [master]
    ssl_client_header = SSL_CLIENT_S_DN
    ssl_client_verify_header = SSL_CLIENT_VERIFY
    [agent]
    certname = _cash_100500_67c3c935
    server = puppet
    masterport = 8140
    


  5. Запустите puppet с помощью команды:

    Code Block
    languagebash
    puppet agent --test