Кассовый сервер УКМ 5 представляет собой средство управления настройками касс и функционально описан здесь.
Перед установкой кассового сервера, необходимо развернуть сервер на ESXI 6.5 1, соответствующий рекомендуемым системным требованиям тестового сервера:
- 6 ядер CPU;
- 20gb ОЗУ (доступную через команду htop);
- 100gb жесткий диск;
- 2 сетевых интерфейса:
- eth0 – интерфейс выхода в локальную сеть,
- eth1 – должен быть присвоен адрес 172.17.*.* (виртуальная сеть, без выхода в локальную сеть), если сеть настроена правильно - адрес присвоится автоматически, доступ в интернет на момент установки.
Скорость дисков при проверке командой hdparm -tT должна быть не ниже Timing buffered disk reads 380 MB/sec (без нагрузки).
Сервер должен находиться в одной локальной сети с кассами.
Необходимо предоставить дуплексный доступ кассового сервера УКМ5 к серверу лицензирования через интернет по протоколу HTTPS с пропускной способностью не менее 24 кбайт/сек (приблизительно) на порт 15002.
По окончании разворачивания сервера, пароль и логин для доступа будут доступны в интерфейсе программы вируализациивиртуализации.
Создаем требуемые папки:
Блок кода |
---|
mkdir /home/support/ukm5-server chmod 0755 /home/support/ukm5-server mkdir /home/support/kubernetes/ chmod 0755 /home/support/kubernetes mkdir /home/support/ukm5-server/docker chmod 0755 /home/support/ukm5-server/docker |
Закачиваем папку docker в /home/support/ukm5-server/ и содержимое папки k8s-latest в /home/support/kubernetes/ из \\ukm5-fs\builds\mintukm-server\release.
Проверка сетевых адаптеров и настройка DNS
Интерфейс eth0 – внутренняя сеть клиента, статический.
Примечание |
---|
Не должен начинаться на 172.17, 172.18, 10.0 – на эти адреса завязана работа внутри кубов. |
Интерфейс eth1 (172.17.8.101) должен быть подключен в изолированную сеть (DMZ).
Интерфейс docker0 – автоматический.
Настраиваем DNS в докере, чтобы сервер нормально общался в сети клиента со службами внутри себя и вне себя:
Блок кода |
---|
sudo mcedit /etc/systemd/system/docker.service.d/docker-dns.conf |
Если у клиента нет своих DNS-серверов, можно оставить общедоступные:
Информация | ||
---|---|---|
| ||
[Service] |
10.100.0.3 – системный кубовый DNS, этот параметр нельзя менять.
Пример правильной настроенной сети:
Информация | ||
---|---|---|
| ||
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 |
Настройка второго диска
Пропускаем этот пункт, если диск один.
Раскрыть |
---|
Диск (следующие пункты нужны, если система будет на втором диске – "боевой" сервер).
Форматирование диска: fdisk /dev/sdb Формат раздела (создастся раздел LVM на все свободное пространство примонтированного диска). -------------------------- partprobe Необходимо примонтировать диск и перенести данные (оригинальный раздел дата перейдет на новый диск). sudo mv /data /data.orig Перезагрузка сервера |
Проверка запуска MariaDB и установка HAproxy
Блок кода |
---|
sudo systemctl restart mariadb sudo systemctl enable mariadb sudo systemctl status mariadb |
1. Устанавливаем HAproxy (чтобы видеть IP-адреса касс):
Блок кода |
---|
cd /opt/compose sudo yum install haproxy |
2. Копируем конфиг текущего HAproxy в свежеустановленный (перезаписать файл, при необходимости):
Блок кода |
---|
sudo cp /opt/compose/cfg/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg |
3. Останавливаем Docker-Compose:
Блок кода |
---|
sudo docker-compose down |
4. В текущем файле /etc/haproxy/haproxy.cfg комментируем кусок про frontend stats (c 216 строки до конца):
Блок кода |
---|
sudo mcedit /etc/haproxy/haproxy.cfg |
5. Проверяем текущий конфиг HAproxy на валидность:
Блок кода |
---|
haproxy -c -f /etc/haproxy/haproxy.cfg |
Ответ – Configuration file is valid.
Если есть ошибки – смотрим, чем вызваны, правим, проверяем снова.
6. Запускаем HAproxy:
Блок кода |
---|
sudo systemctl start haproxy sudo systemctl status haproxy |
7. Удаляем Docker-Compose из автозагрузки:
Блок кода |
---|
sudo mcedit /opt/compose/docker-compose.yaml |
Меняем параметр restart на no:
Информация |
---|
restart: 'no' |
Сохраняем файл. При следующей загрузке Docker-Compose не стартует контейнер с HAproxy.
8. Добавляем HAproxy в загрузку:
Блок кода |
---|
sudo systemctl enable haproxy |
Разворачивание экосистемы
Блок кода |
---|
cd /opt/ecosystem sh _create-ecosystem.sh |
Ожидаем установки и смотрим вывод статуса служб:
Информация |
---|
kubectl get pods -A kubectl get pods -A -o wide |
Prometheus не нужен, его можно удалить.
Настройка внешнего доступа к kafka
Редактируем файл kube-configmap.yaml:
Блок кода |
---|
sudo mcedit /opt/ecosystem/kafka/kube-configmap.yaml |
Нужно вписать актуальный IP/FQDN клиентского сервера УКМ 5 eth0 в соответствующих строчках:
Информация | ||
---|---|---|
| ||
data: KAFKA_CFG_ADVERTISED_HOST_NAME: "ip-сервера или dns-hostname" KAFKA_CFG_ADVERTISED_LISTENERS: "INTERNAL://:9093,CLIENT://:9092,EXTERNAL://ip-сервера или dns-hostname:39094" |
Блок кода |
---|
cd /opt/ecosystem/kafka/ sh _restart-kafka-zookeeper.sh |
Загружаем докеры:
Блок кода |
---|
cd /home/support/ukm5-server/docker/ |
Блок кода |
---|
sudo docker load < admin-impl-<!!!VERSION!!!> sudo docker load < clickhouse-<!!!VERSION!!!> sudo docker load < converters_service-<!!!VERSION!!!> sudo docker load < db-migration-srvdata-<!!!VERSION!!!> sudo docker load < db-migration-srvsales-<!!!VERSION!!!> sudo docker load < export-doc-api-<!!!VERSION!!!> sudo docker load < flush-queue-<!!!VERSION!!!> sudo docker load < frontend-<!!!VERSION!!!> sudo docker load < import-doc-api-<!!!VERSION!!!> sudo docker load < import-export-api-<!!!VERSION!!!> sudo docker load < jsreport-<!!!VERSION!!!> sudo docker load < licensing-impl-<!!!VERSION!!!> sudo docker load < login-impl-<!!!VERSION!!!> sudo docker load < logs_cleaner-<!!!VERSION!!!> sudo docker load < monitoring-impl-<!!!VERSION!!!> sudo docker load < ntp_timezones-<!!!VERSION!!!> sudo docker load < pos_agent-<!!!VERSION!!!> sudo docker load < public-api-<!!!VERSION!!!> sudo docker load < receipts_cutter-<!!!VERSION!!!> sudo docker load < receipt-search-appender-<!!!VERSION!!!> sudo docker load < receipt-search-cleaner-<!!!VERSION!!!> sudo docker load < report-data-pump-<!!!VERSION!!!> sudo docker load < tradedata_processing-<!!!VERSION!!!> sudo docker load < transport_service_nginx-<!!!VERSION!!!> sudo docker load < transport_service-<!!!VERSION!!!> |
Необходимо отредактировать транспорт – DOWNLOAD_URL_PREFIX, заменить ukm5-qa-server на ukm5-server:
Блок кода |
---|
sudo mcedit /home/support/kubernetes/configmap-common/configmap-common.yaml |
Если используется TM (модуль интеграции) – нужно отредактировать PRODUCE_ITEMS_DOCUMENT: false, иначе – true:
Блок кода |
---|
sudo mcedit /home/support/kubernetes/tradedata-processing-import/configmap.yaml |
Блок кода |
---|
sudo su cd /home/support/kubernetes ./_start-base.sh |
Запускаем и ждем ~10-50 минут.