Проверьте требования к системе в разделе Планирование Enterprise
Получите дистрибутивы у команды Dion:
Ниже описан способ развертывания Dion на примере операционной системы Ubuntu Server 22.04.4.
Способы развертывания на другие операционные системы могут отличаться.
Разверните виртуальные машины согласно документу Планирование Enterprise
Данное действие необходимо выполнить на всех серверах Dion.
Для установки и администрирования Dion необходимо создать пользователя с определенными правами в системе.
Подключитесь к серверу с помощью SSH клиента с указанными учетными данными при установке.
Создайте пользователя “dion”:
sudo adduser dion
Добавьте пользователя dion в группу sudo:
sudo usermod -aG sudo dion
Установите текстовый редактор nano:
sudo apt-get update
sudo apt-get install -y nano
Для корректной работы Ansible необходимо отключить запрос пароля при повышении привилегий участникам группы sudo.
Для этого необходимо отредактировать файл /etc/sudoers.
Наберите команду:
sudo visudo
Найдите в редакторе строку “%sudo ALL=(ALL:ALL) ALL” и замените ее на “%sudo ALL=(ALL:ALL) NOPASSWD: ALL”
Сохраните изменения с помощью сочетания клавиш “Ctrl + o”.
Закройте редактор с помощью сочетания клавиш “Ctrl + x”
Проверьте, что в файле /etc/sudoers применились правильные значения:
sudo cat /etc/sudoers
Завершите сеанс пользователя командой exit.
ВНИМАНИЕ! Все последующие операции необходимо производить от имени пользователя dion.
Данное действие необходимо выполнять на сервере Setup VM.
Для корректной работы Ansible требуется настройка безопасного доступа по SSH без запроса пароля для локального хоста на самого себя, а также на остальные серверы Dion.
Подключитесь к серверу Setup VM с помощью SSH клиента с указанными учетными данными пользователя dion.
Создайте новую пару SSH ключей:
ssh-keygen -t rsa
Оставьте пустыми ответы на вопросы, нажмите “Enter” 4 раза.
Скопируйте открытый SSH ключ на этот же сервер с помощью команды “ssh-copy-id dion@ip_адрессервера_dion”:
ssh-copy-id dion@10.0.19.117
Проверьте, что пользователь dion может подключиться к этому же серверу с помощью SSH без ввода пароля:
ssh dion@10.0.19.117
exit
Сервер Setup VM должен подключаться по SSH ко всем серверам Dion без ввода пароля.
Повторите действие “ssh-copy-id” для всех ip адресов серверов Dion.
Данное действие необходимо выполнять на сервере Setup VM.
Установите Docker.
Пример установки Docker для Ubuntu Server 22.04.4
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Инструкцию по установке Docker на другие операционные системы можно найти по ссылке: Install Docker Engine
Добавьте пользователя dion в группу docker:
sudo usermod -aG docker dion
Завершите сеанс пользователя Dion и подключитесь заново для применения настроек:
exit
Для удобства установки и администрирования Dion опционально может потребоваться установить дополнительное ПО :
sudo apt-get update
sudo apt-get install -y mc
sudo apt-get install -y bzip2
sudo apt-get install -y iputils-ping
sudo apt-get install -y dnsutils
sudo apt-get install -y htop
sudo apt-get install -y netcat
sudo apt-get install -y tcpdump
sudo apt-get install -y iperf
sudo apt-get install -y net-tools
sudo apt-get install -y bash-completion
Данное действие необходимо выполнять на сервере Setup VM.
Для выполнения данного шага потребуется:
Эти данные необходимо запросить у команды Dion.
ВНИМАНИЕ! Не распаковывайте архивы в ОС Windows. В этом случае потеряются символьные ссылки, а установка будет завершаться с ошибкой.
Перейдите в домашнюю папку пользователя “dion”:
cd /home/dion
Скачайте архив с Playbook, полученный у команды Dion используя ссылку и учетную запись.
Для этого можно использовать утилиту wget:
wget --user=имя_пользователя --password=пароль https://registry.onprem.dion.vc/архив_playbook.gz
Распакуйте файл с помощью команды tar -xf имя_файла:
tar -xf on_dion-архив_playbook.gz
Данное действие необходимо выполнять на сервере Setup VM.
Перейдите в директорию “/home/dion/on_dion”:
cd /home/dion/on_dion
Запустите скрипт конфигурации и ответьте на его вопросы:
./configurator.sh
После ответов на вопросы скрипт скачает необходимые дистрибутивы для вашего домена и установит локальный реестр. Время работы данного скрипта может занять больше часа (зависит от пропускной способности сети).
Заполните файл inventories/dion.имя_домена/hosts, указав hostname и ip адреса серверов Dion.
nano /home/dion/on_dion/inventories/dion.dmbalias.com/hosts
Серверы приложений apps, media, sip, turn, record, video, chats при необходимости можно горизонтально масштабировать или совмещать между собой в рамках одного ЦОД.
При заполнении файла hosts важно учитывать, что реальные hostname виртуальных машин должны совпадать с именами в файле. Для примера
dc-1-infra-ha-01 ansible_host=10.1.21.100
имя виртуальный машины будет dc-1-infra-ha-01
Пример заполнения файла hosts:
Зарезервируйте ip адреса (vip) для балансировки и отредактируйте файл inventories/dion.имя_домена/group_vars/all/vars.yaml указав виртуальные IP балансировщиков:
nano /home/dion/on_dion/inventories/dion.dmbalias.com/group_vars/all/vars.yaml
Пример заполнения виртуальных IP в файле vars.yaml:
vip_dion: 10.0.19.141 #Введите виртуальный IP адрес LBD ЦОД1
vip_grpc: 10.0.19.142 #Введите виртуальный IP адрес LBG ЦОД1
vip_infra: 10.0.19.143 #Введите виртуальный IP адрес LBI ЦОД1
Отредактируйте файлы dc-1.yaml и dc-2.yaml в директории “inventories/dion.имя_домена/group_vars/”
Пример заполнения файла dc-1.yaml
dc: dc-1
vip_dion: 10.0.19.141 #Введите виртуальный IP адрес LBD ЦОД1
vip_grpc: 10.0.19.142 #Введите виртуальный IP адрес LBG ЦОД1
vip_infra: 10.0.19.143 #Введите виртуальный IP адрес LBI ЦОД1
Пример заполнения файла dc-2.yaml
dc: dc-2
vip_dion: 10.0.21.141 #Введите виртуальный IP адрес LBD ЦОД2
vip_grpc: 10.0.21.142 #Введите виртуальный IP адрес LBG ЦОД2
vip_infra: 10.0.21.143 #Введите виртуальный IP адрес LBI ЦОД2
ВНИМАНИЕ: Использование файла hosts вместо DNS сервера не поддерживается.
Создайте A-записи на DNS сервере внутренней зоны согласно требованиям на странице Планирование Enterprise
Все DNS записи dion для вашего домена должны указывать на виртуальный IP вашего балансировщика между ЦОД-ами.
Серверы Dion должены разрешать все имена через DNS сервер.
Перейдите в директорию “/home/dion/on_dion/scripts”:
cd /home/dion/on_dion/scripts/
Запустите скрипт проверки DNS записей, указав адрес предпологаемой главной страницы dion:
./dns_check_defis.sh dion.your_domain.com
Убедитесь, что скрипт не выдал ошибок, а адрес dion.yourdomain.ru разрешается во внутренний виртуальный ip адрес вашего балансировщика.
При необходимости исправьте DNS записи.
Если необходимо задать DNS сервер отличающийся от сервера на котором производится установка DION AIO (/etc/resolv.conf), то необходимо в соответствующем файле
/home/dion/on_dion/inventories/dion.YourDomain.com
/group_vars/dc-X.yaml внести изменения:
параметр configure изменить на true и прописать адрес DNS сервера:
configure: yes
dns:
- ip.адрес.dns.сервера
Сделайте резервную копию директории “on_dion/inventories”. В ней хранятся файлы конфигурации и ключи шифрования для восстановления данных Dion.
Данное действие необходимо выполнять на сервере Setup VM.
Создайте директорию certs:
mkdir /home/dion/on_dion/certs
Скопируйте в данную директорию ваш сертификат в формате:
Скопируйте сертификаты, заменив “dion.YourDomain.com” на имя вашей директории :
cd /home/dion/on_dion/files/dion.YourDomain.com/certs/
cp /home/dion/certs/chain.pem web/rootCA.crt
cp /home/dion/certs/chain.pem service/rootCA.crt
cp /home/dion/certs/fullchain.pem web/server.crt
cp /home/dion/certs/fullchain.pem service/server.crt
cp /home/dion/certs/cert.pem ad/sso.crt
cp /home/dion/certs/privkey.pem web/server.key
cp /home/dion/certs/privkey.pem service/server.key
cp /home/dion/certs/privkey.pem ad/sso.key
sed -n 'p' /home/dion/certs/fullchain.pem /home/dion/certs/privkey.pem > web/haproxy.pem
Данное действие необходимо выполнять на сервере Setup VM.
Перейдите в директорию “on_dion”:
cd /home/dion/on_dion
Запустите установку компонентов dion при помощи команды:
./dion.sh
Дождитесь окончания установки. Время выполнения данной команды может занять до 90 минут, в зависимости от скорости дисковой подсистемы.
Проверьте, что во время установки не было ошибок (failed=0):
Откройте браузер и зайдите на домашнюю страницу Dion: https://dion.YourDomain.com
Аутентифицируйтесь под тестовым пользователем: admin_onprem@diongo.ru
Пароль пользователя генерируется во время установки. Чтобы его узнать, воспользуйтесь командой:
cat /home/dion/on_dion/inventories/dion."имя_домена"/group_vars/all/vault.yaml | grep -i user_password:
Для сборки с вариантом входа только с использованием корпоративной учётной записи (SSO) для аутентификации с учётной записью admin_onprem@diongo.ru используйте ссылку: https://dion.YourDomain.com/auth/.
Для дополнительной информации см. Известные проблемы.