Установка сервисов 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-50-1}.tar.gz
Например для релиза 4.50.1 ссылка будет такой: https://raw.people-hub.ru/values/release-peoplehub-v4-50-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.50.1 соответствует тэг release-peoplehub-v4-50-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.50.1¶
# lists # depends on 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
scripts/run_command.sh refresh_grouped_values
# events
python manage.py delete_draft_calendar_events
# pages
python manage.py change_default_data
# filestorage
scripts/run_command.sh create_shared_folder
# navigation
python -m commands.init_menu (если портал разворачивается впервые и меню никто не настраивал)
python -m commands.sync_pages_menu (при обновлении версии, при первом разворачивании сервиса, если меню уже было настроено)
python src/commands/rename_cms_items_to_sitector.py
Обновление с 4.30.6 до 4.50.1¶
Предварительно необходимо выполнить последовательное обновление, включая все релизы 2 квартала 2024 года.
При обновлении с версии 4.30.6 до версии 4.50.1 необходимо выполнить команды:
## dictionaries
python manage.py init_dictionaries --force
## reactions - обязательно в числе первых
python -m async_profile_sync.management.load_profile_user_data # depends on profile
## groups
python manage.py load_profile_user_data --force-update # depends on profile
## pages - Команда для изменения данных на имеющихся стендах
python manage.py change_default_data
## notification - Необходимо выполнить команды в указанном порядке:
python manage.py load_profile_user_data # depends on profile
python manage.py update_trigger_settings
python manage.py update_users_settings
## roles:
python -m async_profile_sync.management.load_profile_user_data # depends on profile
python -m commands.add_users_in_default_group
python -m commands.sync_groups
python -m commands.sync_users_to_groups
## 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 # depends on roles
python manage.py sync_global_roles_assignees # depends on roles
python manage.py migrate_roles_to_v2
python manage.py create_shared_folder
## 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
python -m commands.migrate_cms_data_to_sitector # depends on filestorages
python -m commands.fix_cms_data_in_sitector
## reactions
python -m commands.migrate_reactions_from_sites_to_pages # depends on sitector
## 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
python manage.py delete_draft_calendar_events
## 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
python -m commands.refresh_grouped_values
## 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
## 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
## navigations
python -m commands.init_menu (если портал разворачивается впервые и меню никто не настраивал)
python -m commands.sync_pages_menu (при обновлении версии, при первом разворачивании сервиса, если меню уже было настроено)
python -m commands.rename_cms_items_to_sitector # check that path correct
## 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.5; - мажорный релиз 4.40.1.