Установка сервисов People Hub¶
Для того, чтобы развернуть сервисы входящие в состав продукта VK People Hub в кластере Kubernetes, мы рекомендуем использовать наш универсальный helm chart: https://chart.people-hub.ru universal-chart --version 2.4.1
Все файлы конфигураций и инструкции написаны по этот чарт.
Описание¶
Все сервисы для установки используют один алгоритм. Это запуск установки через helm с использованием чарта шаблона и файлов конфигураций для каждого сервиса.
Для упрощения установки повторяющиеся настройки были вынесены в отдельный файл env.yaml.
Поэтому при установке компонента нужно указывать и файл конфигурации компонента и файл env.yaml.
Шаблон команды установки: helm install <release_name> --values=<values_file> --values=env.yaml peoplehub/universal-chart --version=2.4.1 -n <namespace>
Пример: helm install cms --values=cms.yaml --values=env.yaml peoplehub/universal-chart --version=2.4.1 -n people-hub
Файлы конфигураций нужно скачать из нашего репозитория: https://raw.people-hub.ru/values/release-peoplehub-v{версия_релиза_в_формате_4-40-1}.tar.gz
Например для релиза 4.40.1 ссылка будет такой: https://raw.people-hub.ru/values/release-peoplehub-v4-40-1.tar.gz
Доступ в репозитоорий по единому логину и парорлю который можно получить у нашего представителя.
Эти авторизационные данные используются для доступа к:
- Хранилища образов docker https://docker.people-hub.ru
- Хранилища helm чартов https://chart.people-hub.ru
- Хранилища причих артефактов https://raw.people-hub.ru
Установка¶
Если вы планируете установку своими силами и без использования наших helm чартов, то восспользуйтесь нашей документацией. Там вы найдете техническую документацию к сервисам и список образов.
Для установки сервиса необходимо:
-
Добавьте helm repository (репозиторий доступен только для авторизованных пользователей)
helm repo add people-hub https://chart.people-hub.ru \ --username=<имя_пользователя> \ --password=<пароль_пользователя>
-
Обновите репозитории Helm
helm repo update
-
Подготовьте файл значений для развертывания сервиса. Для удобства установки переменные, которые необходимо изменить, вынесены в общий файл настроек env.yaml
-
Установите сервис указав путь к файлу значений
helm install <release_name> --values=<values_file> --values=env.yaml peoplehub/universal-chart --version=2.4.1 -n <namespace>
Образы контейнеров (container images) можно загрузить из нашего container registry (docker.people-hub.ru). Тэг образа соответствует номеру релиза. Например, релизу 4.40.1 соответствует тэг release-peoplehub-v4-40-1.
-
После установки для следующих сервисов необходимо создать пользователя административной панели. Для этого выполните в сервисах следующие команды:
Для сервиса roles
Для gamificationpython commands/create_admin_panel_user.py <username> <password>
Для meetingspython manage.py createsuperuser ввести username email password
python manage.py createsuperuser ввести username email password
-
После установки или обновления сервисов требуется запустить команды для миграции данных. Все команды можно найти в описании релиза.
-
Актуальный список сервисов можно взять из списка образов списка образов, публикуемого к релизу.
Команды для мажорного релиза 4.40.1¶
Сервис roles:
python -m async_profile_sync.management.load_profile_user_data
python -m commands.add_users_in_default_group
python -m commands.sync_groups
python -m commands.sync_users_to_groups
Сервис pages:
python manage.py change_default_data
Сервис notification. Необходимо выполнить команды в указанном порядке:
python manage.py load_profile_user_data
python manage.py update_trigger_settings
python manage.py update_users_settings
Сервис dictionaries:
python manage.py init_dictionaries --force
Сервис events:
python manage.py sync_roles_groups # depends on roles
python manage.py sync_users_to_groups # depends on roles
python manage.py sync_base_roles
Сервис filestorage:
python manage.py sync_roles_groups # depends on roles
python manage.py sync_users_to_groups # depends on roles
python manage.py sync_base_roles
python manage.py migrate_roles_to_v2
Сервис lists:
python -m roles_access.fastapi.commands.sync_roles_groups # depends on roles
python -m roles_access.fastapi.commands.sync_users_to_groups # depends on roles
python -m commands.sync_base_roles
Сервис news:
python -m roles_access.fastapi.commands.sync_roles_groups # depends on roles
python -m roles_access.fastapi.commands.sync_users_to_groups # depends on roles
python -m commands.sync_base_roles
Сервис sitector:
python -m commands.sync_base_roles
python -m roles_access.fastapi.commands.sync_roles_groups # depends on roles
python -m roles_access.fastapi.commands.sync_users_to_groups # depends on roles
python -m commands.migrate_cms_data_to_sitector # depends on filestorages
Сервис navigations:
python -m commands.init_menu (если портал разворачивается впервые и меню никто не настраивал)
python -m commands.sync_pages_menu (при первом разворачивании сервиса если меню уже было настроено)
python -m commands.rename_cms_items_to_sitector # check that path correct
Дополнительные команды для минорного релиза 4.40.2¶
Сервис groups:
python manage.py load_profile_user_data --force-update
Сервис roles:
python -m commands.sync_groups
Сервис events:
python manage.py sync_roles_groups # depends on roles
Сервис filestorage:
python manage.py sync_roles_groups # depends on roles
Сервис lists:
python -m roles_access.fastapi.commands.sync_roles_groups # depends on roles
Сервис news:
python -m roles_access.fastapi.commands.sync_roles_groups # depends on roles
Сервис sitector:
python -m roles_access.fastapi.commands.sync_roles_groups # depends on roles
Сервис blogs:
python -m roles_access.fastapi.commands.sync_roles_groups # depends on roles
python -m roles_access.fastapi.commands.sync_users_to_groups # depends on roles
Дополнительные команды для минорного релиза 4.40.3¶
Сервис reactions. Обязательно выполнить первыми:
python -m async_profile_sync.management.load_profile_user_data
python -m commands.migrate_reactions_from_sites_to_pages
Сервис sitector:
python -m commands.sync_base_roles
python -m roles_access.fastapi.commands.sync_roles_groups # depends on roles
python -m roles_access.fastapi.commands.sync_users_to_groups # depends on roles
python -m commands.migrate_cms_data_to_sitector # depends on filestorage
python -m commands.fix_cms_data_in_sitector
Сервис comments:
python -m commands.migrate_comments_to_sites_main_pages # depends on sitector
Сервис tags:
python -m commands.migrate_tags_from_sites_to_pages # depends on sitector
Сервис lists:
python -m commands.sync_base_roles
Дополнительные команды для минорного релиза 4.40.4¶
Сервис pages:
python manage.py change_default_data
Сервис groups:
python manage.py load_profile_user_data --force-update
Дополнительные команды для минорного релиза 4.40.5¶
Сервис roles: Обязательно выполнить первой:
python commands/add_users_in_default_group.py
Сервис sitector:
python -m roles_access.fastapi.commands.sync_roles_groups # depends on roles
python -m roles_access.fastapi.commands.sync_users_to_groups # depends on roles
python -m commands.sync_base_roles
Сервис news:
python -m roles_access.fastapi.commands.sync_roles_groups # depends on roles
python -m roles_access.fastapi.commands.sync_users_to_groups # depends on roles
Сервис lists:
python -m roles_access.fastapi.commands.sync_roles_groups # depends on roles
python -m roles_access.fastapi.commands.sync_users_to_groups # depends on roles
Сервис blogs:
python -m roles_access.fastapi.commands.sync_roles_groups # depends on roles
python -m roles_access.fastapi.commands.sync_users_to_groups # depends on roles
Сервис filestorage:
python manage.py sync_roles_groups # depends on roles
python manage.py sync_users_to_groups # depends on roles
python manage.py sync_base_roles
python manage.py create_shared_folder
python manage.py migrate_roles_to_v2 --force
Сервис events:
python manage.py sync_roles_groups # depends on roles
python manage.py sync_users_to_groups # depends on roles
Сервис groups:
python manage.py load_profile_user_data --force-update
Дополнительные команды для минорного релиза 4.40.6¶
Сервис filestorage:
python manage.py sync_base_roles
Дополнительные команды для минорного релиза 4.40.7¶
Сервис sitector:
python -m commands.fix_cms_data_in_sitector
Дополнительные команды для минорного релиза 4.40.9¶
Сервис pages:
python manage.py change_default_data
Сервис lists:
scripts/run_command.sh refresh_grouped_values
Сервис sitector:
scripts/run_command.sh sync_base_roles
Сервисfilestorage:
scripts/run_command.sh sync_global_roles_assignees # depends on roles