Перейти к основному содержимому

Развертывание и обновление Платформы Multi-D Docker demo

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

При помощи программы для передачи файлов по ssh (например, WinSCP) переместите архив с дистрибутивом Платформы Multi-D в папку /opt. Перейдите в консоль ssh на сервер с ролью Сервер Приложений.

Повысьте права командой sudo -i.

Измените имя хоста с помощью утилиты hostnamectl: hostnamectl set-hostname "test.pmd.local".

Обеспечьте разрешение имени сервера с ролью Сервер Приложений на самом сервере. Для проверки корректности разрешения имени сервера воспользуйтесь командой: ping <ИмяСтенда>, где:

  • <ИмяСтенда>: имя стенда с доменным суффиксом, например, test.pmd.local.

В результате выполнения команды должен отображаться ip-адрес сервера с ролью Сервер Приложений.

Если ip-адрес сервера с ролью Сервер Приложений не отображается либо отображается как 127.0.0.0/8, необходимо настроить используемый в сети DNS-сервер либо, при его отсутствии, добавьте имя сервера с ролью Сервер Приложений в файл /etc/hosts, командой: echo "<IP-адрес> <ИмяСтенда>" >> /etc/hosts, где

  • <ИмяСтенда>: имя сервера с ролью Сервер Приложений с доменным суффиксом, например, test.pmd.local.
  • <IP-адрес>: ip-адрес сервера с ролью Сервер Приложений.

Перейдите в папку /opt командой cd /opt.

Распакуйте архив с дистрибутивом tar xzvf platformmd.*.tar.gz.

Перейдите в папку /opt/platform/scripts/ командой cd /opt/platform/scripts/.

Добавьте права на запуск файлов командой chmod +x *.sh. Запустите скрипт подготовки системы в зависимости от ОС:

  • ./prepare_system_AstraLinux.sh;
  • ./prepare_system_Ubuntu.sh;
  • ./prepare_system_Debian.sh.

Скрипт установит или обновит Docker и прочие необходимые пакеты.

Перезагрузите систему (ответьте Y, система перезагрузится).
Повысьте права после перезагрузки командой sudo -i.

В дистрибутиве в папке /opt/platform/files/ находятся файлы сертификатов:

  • external-certificate.pem: цепочка сертификатов серверов домена pmd.local, включающая сертификат сервера test.pmd.local, а также все промежуточные УЦ и корневой УЦ для внешнего домена. Используется для взаимодействия с https://test.pmd.local.
  • external-certificate.key.pem: ключ сертификата серверов домена pmd.local.
  • external-root.crt: цепочка сертификатов, включающая в себя все промежуточные УЦ и корневой УЦ для внешнего домена.
  • git-root.crt: корневой сертификат, которым подписан сертификат внешнего гит-репозитория проектов devtools.
  • internal-certificate.pem: цепочка сертификатов серверов домена pmd.local, включающая сертификат сервера test.pmd.local, а также все промежуточные УЦ и корневой УЦ для внутреннего домена. Используется для внутреннего межсервисного взаимодействия.
  • internal-certificate.key.pem: ключ сертификата серверов домена pmd.local.
  • internal-root.crt: цепочка сертификатов, включающая в себя все промежуточные УЦ и корневой УЦ для внутреннего домена.
предупреждение

В составе дистрибутива эти файлы относятся к серверу только в домене pmd.local.
Если сервер с ролью Сервер Приложений находится в другом домене, то содержимое файлов с префиксом external следует заменить.
Также можно заменить содержимое файлов с префиксом internal. Внутренние сертификаты могут не совпадать с внешними.

Запустите скрипт, который скопирует файлы сертификатов командами установит portainer, загрузит docker-образы в локальный docker-registry и установит ansible:

  • cd /opt/platform/scripts/;
  • ./prepare_monostand.sh.
подсказка

После выполнения скрипта переопределите при необходимости пароль для portainer, перейдя по ссылке <https://test.pmd.local:9000>.
Предустановленные логин и пароль: логин: admin пароль: zaq1!QAZxsw2.

Выполните скрипт подготовки Inventory-стенда:

./make_inventory.sh -s <имя сервера Приложений> -b <имя сервера БД> -d <доменный суффикс сервера Приложений> -u <пароль пользователя с правами администратора postgres> -l <пароль пользователя сервисов Платформы в postgres> -v <версия устанавливаемого релиза Платформы> -a <ветка> -h <git-хост> -r <репозиторий>, где:

  • <имя сервера Приложений>: имя сервера (hostname) сервера с ролью Сервер Приложений без доменного суффикса, например, test;
  • <имя сервера БД>: полное доменное имя сервера с ролью Сервер БД, например, dbserver.pmd.local;
  • <доменный суффикс сервера Приложений>: домен сервера с ролью Сервер Приложений, например, pmd.local;
  • <пароль пользователя с правами администратора postgres>: пароль для postgres-пользователя с логином postgres, который обладает правами superuser в postgres на сервере с ролью Сервер БД;
  • <пароль пользователя сервисов Платформы Multi-Dв postgres>: пароль для postgres-пользователя с логином platform, который будет владельцем баз данных Платформы Multi-D в postgres на сервере с ролью Сервер БД;
  • <версия устанавливаемого релиза Платформы Multi-D>: например, 3.1.0 без кавычек;
  • <ветка>: ветка git-репозитория проектов devtools, например, develop;
  • <git-хост>: адрес сервера с git-репозиториями проектов devtools, например, внутренний хост стенда в домене pmd.local: http://devtoolsgit.pmd.local:80/git;
  • <репозиторий>: имя репозитория проектов devtools, например локально на стенде по-умолчанию создаётся pmd-repo.

Скопируйте свой файл лицензии в папку /opt/platform/installer/files, переименовав его в license.lic.

к сведению

Если у Вас нет файла лицензии, установите лицензию позже, после развёртывания Платформы Multi-D.

Инсталляция при первоначальном развертывании

Установите ansible. ./install_ansible.sh

Запустите установку Платформы Multi-D командой

./run_ansible_playbooks_monostand.sh -s <Имя стенда> -d <Внутренний домен Платформы Multi-D>, где:

  • <Имя стенда>:имя стенда, например, test.pmd.local;
  • <Внутренний домен Платформы Multi-D>: внутренний домен Платформы Multi-D, используемый для межсервисного взаимодействия, например, pmd.local.

Дождитесь завершения установки, это может занять 20-30 минут.

Обновление

Подготовка

При помощи программы для передачи файлов по ssh (например, WinSCP) переместите архив с дистрибутивом Платформы Multi-D в папку /opt. Перейдите в консоль ssh на сервер с ролью Сервер Приложений.

Повысьте права командой sudo -i.

Перейдите в папку /opt командой cd /opt.

предупреждение

При разархивации дистрибутива существует возможность внесения изменений в Inventory. Если в файлах /opt/platform/installer/inventory/<Имя стенда>/group_vars/all.yml и /opt/platform/installer/inventory/<Имя стенда>/hosts.yml содержится важная информация, создайте резервную копию этих файлов.

Распакуйте архив с дистрибутивом tar xzvf platformmd.*.tar.gz.

Перейдите в папку /opt/platform/scripts/ командой cd /opt/platform/scripts/.

Добавьте права на запуск файлов командой chmod +x *.sh.

В дистрибутиве в папке /opt/platform/files/ находятся файлы сертификатов:

  • external-certificate.pem: цепочка сертификатов серверов домена pmd.local, включающая сертификат сервера test.pmd.local, а также все промежуточные УЦ и корневой УЦ для внешнего домена. Используется для взаимодействия с https://test.pmd.local.
  • external-certificate.key.pem: ключ сертификата серверов домена pmd.local.
  • external-root.crt: цепочка сертификатов, включающая в себя все промежуточные УЦ и корневой УЦ для внешнего домена.
  • git-root.crt: корневой сертификат, которым подписан сертификат внешнего гит-репозитория проектов devtools.
  • internal-certificate.pem: цепочка сертификатов серверов домена pmd.local, включающая сертификат сервера test.pmd.local, а также все промежуточные УЦ и корневой УЦ для внутреннего домена. Используется для внутреннего межсервисного взаимодействия.
  • internal-certificate.key.pem: ключ сертификата серверов домена pmd.local.
  • internal-root.crt: цепочка сертификатов, включающая в себя все промежуточные УЦ и корневой УЦ для внутреннего домена.
предупреждение

В составе дистрибутива эти файлы относятся к серверу только в домене pmd.local.
Если сервер с ролью Сервер Приложений находится в другом домене, то содержимое файлов с префиксом external следует заменить.
Также можно заменить содержимое файлов с префиксом internal.
Внутренние сертификаты могут не совпадать с внешними.

Запустите скрипт, который который скопирует файлы сертификатов, установит portainer, загрузит docker-образы в локальный docker-registry и установит ansible.

cd /opt/platform/scripts/
./prepare_monostand.sh

подсказка

После выполнения скрипта переопределите при необходимости пароль для portainer, перейдя по ссылке <https://test.pmd.local:9000>.
Предустановленные логин и пароль: логин: admin пароль: zaq1!QAZxsw2.

Выполните скрипт подготовки Inventory-стенда:

./make_inventory.sh -s <имя сервера Приложений> -b <имя сервера БД> -d <доменный суффикс сервера Приложений> -u <пароль пользователя с правами администратора postgres> -l <пароль пользователя сервисов Платформы в postgres> -v <версия устанавливаемого релиза Платформы> -a <ветка> -h <git-хост> -r <репозиторий>, где:

  • <имя сервера Приложений>: имя сервера (hostname) сервера с ролью Сервер Приложений без доменного суффикса, например, test;
  • <имя сервера БД>: полное доменное имя сервера с ролью Сервер БД, например, dbserver.pmd.local;
  • <доменный суффикс сервера Приложений>: домен сервера с ролью Сервер Приложений, например, pmd.local;
  • <пароль пользователя с правами администратора postgres>: пароль для postgres-пользователя с логином postgres, который обладает правами superuser в postgres на сервере с ролью Сервер БД;
  • <пароль пользователя сервисов ПлатформыMulti-D в postgres>: пароль для postgres-пользователя с логином platform, который будет владельцем баз данных Платформы Multi-D в postgres на сервере с ролью Сервер БД;
  • <версия устанавливаемого релиза Платформы Multi-D>: например, 3.1.0 без кавычек;
  • <ветка>: ветка git-репозитория проектов devtools, например, develop;
  • <git-хост>: адрес сервера с git-репозиториями проектов devtools, например, внутренний хост стенда в домене pmd.local: http://devtoolsgit.pmd.local:80/git;
  • <репозиторий>: имя репозитория проектов devtools, например локально на стенде по-умолчанию создаётся pmd-repo.
к сведению

Если <пароль пользователя сервисов Платформы Multi-D в postgres> отличается от реально, то реальный требуется самостоятельно изменить в СУБД Postgres.

Инсталляция при обновлении

Перейдите в папку инсталлятора командой cd /opt/platform/installer.

Запустите установку Платформы Multi-D командой

./run_ansible_playbooks_monostand.sh -s <Имя стенда> -d <Внутренний домен Платформы Multi-D>, где:

  • <Имя стенда>:имя стенда, например, test.pmd.local;
  • <Внутренний домен Платформы Multi-D>: внутренний домен Платформы Multi-D, используемый для межсервисного взаимодействия, например, pmd.local.

Дождитесь завершения установки, это может занять 20-30 минут.