Перейти к содержанию

Установка сервисов 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

Доступ в репозиторий по единому логину и паролю, которые можно получить у нашего представителя.

Эти авторизационные данные используются для доступа к:

Установка

Если вы планируете установку своими силами и без использования наших helm чартов, то восспользуйтесь нашей документацией. Там вы найдёте техническую документацию к сервисам и список образов.

Для установки сервиса необходимо:

  1. Добавьте helm repository (репозиторий доступен только для авторизованных пользователей)

    helm repo add people-hub https://chart.people-hub.ru \
    --username=<имя_пользователя> \
    --password=<пароль_пользователя>
    
  2. Обновите репозитории Helm helm repo update

  3. Подготовьте файл значений для развертывания сервиса. Для удобства установки переменные, которые необходимо изменить, вынесены в общий файл настроек env.yaml

  4. Установите сервис указав путь к файлу значений 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.

  1. После установки для следующих сервисов необходимо создать пользователя административной панели. Для этого выполните в сервисах следующие команды:

    Для сервиса roles

    python -m commands.create_admin_panel_user <username> <password>
    
    Для gamification
    python manage.py createsuperuser
    ввести username email password
    
    Для meetings
    python manage.py createsuperuser
    ввести username email password
    

  2. После установки или обновления сервисов требуется запустить команды для миграции данных. Все команды можно найти в описании релиза.

  3. Актуальный список сервисов можно взять из списка образов списка образов, публикуемого к релизу.

Команды для минорного релиза 5.11.1

Для django сервисов:
python manage.py load_profile_user_data

# roles
python -m async_profile_sync.management.load_profile_user_data
python -m commands.add_users_in_default_group

# lists
python -m async_profile_sync.management.load_profile_user_data
python -m roles_access.fastapi.commands.sync_users_to_groups

# sitector
python -m commands.sync_base_roles
python -m async_profile_sync.management.load_profile_user_data
python -m roles_access.fastapi.commands.sync_users_to_groups

# blogs
python -m management.load_profile_user_data
python -m roles_access.fastapi.commands.sync_roles_groups
python -m roles_access.fastapi.commands.sync_users_to_groups
python -m management.sync_blogs_roles_to_filestorage --force

# filestorages, events
python manage.py load_profile_user_data
python manage.py sync_users_to_groups

# groups
python manage.py recount_active_users_in_groups

# pages
python manage.py create_default_data - у новых клиентов
python manage.py change_default_data - у старых клиентов

Команды для минорного релиза 5.10.1

# groups
python manage.py load_profile_user_data

Команды для минорного релиза 5.9.1

# roles
python -m group_access.fastapi.commands.sync_organizations

# sitector
python -m group_access.fastapi.commands.sync_organizations

# profiles
python manage.py sync_users_orgstructure --force

# blogs
python -m management.sync_open_blogs_editor_to_filestorage

# tasks
python manage.py load_profile_user_data --force

# widgets
python src/commands/migrate_widgets.py - Для того, чтобы добавились виджеты HR Tek

Команды для минорного релиза 5.8.1

# blogs
python -m management.sync_open_blogs_editor_to_filestorage

# navigation
python -m commands.update_menu_permissions

# notifications
python manage.py update_trigger_settings - Чтобы убрать/добавить категории нужно выполнить команду

# filestorages
python manage.py set_images_additional_data

# calendars
python manage.py load_profile_user_data --force-update
python manage.py restore_missing_organizers

# events
python manage.py load_profile_user_data --force-update
python manage.py migrate_permissions
python manage.py sync_organizations

# meetings
python manage.py load_profile_user_data --force-update
python manage.py sync_organizations

# profiles
python manage.py sync_users_orgstructure

Команды для минорного релиза 5.7.3

# events
python manage.py load_profile_user_data --force-update


# calendars 
python manage.py load_profile_user_data --force-update    
python manage.py restore_missing_organizers

Команды для минорного релиза 5.7.2

# navigation
python -m commands.update_menu_permissions

# blogs
python -m management.sync_blogs_local_site_readers_to_filestorage

Команды для минорного релиза 5.7.1

# sitector
python -m commands.sync_base_roles

Команды для минорного релиза 5.6.2

# filestorages
python manage.py refresh_shared_folders_roles_assignments
python manage.py remove_admin_from_shared_folders
python manage.py refresh_blogs_folders_roles_assignments

Команды для минорного релиза 5.6.1

# sitector
python -m commands.sync_base_roles

Команды для минорного релиза 5.5.1

# pages
python manage.py change_default_data

# filestorages
python manage.py associate_tags_in_sites # depends on tags

# calendars
python manage.py load_profile_user_data

# navigation
python -m commands.update_menu_permissions

Команды для минорного релиза 5.4.1

# pages 
python manage.py change_default_data

# sitector
python -m commands.sync_base_roles

Команды для минорного релиза 5.3.1

# events
python manage.py fix_calendar_events_type
python manage.py delete_draft_calendar_events
python manage.py create_calendar_events

Команды для минорного релиза 5.1.3

# roles
python -m commands.delete_dublicated_role_for_superusers

# sitector
python -m commands.migrate_cms_admins

Команды для минорного релиза 5.1.1

# roles
python -m commands.delete_dublicated_role_for_superusers

# pages
python manage.py change_default_data

# filestorage
python manage.py create_shared_folder
python manage.py sync_base_roles
python manage.py refresh_site_roles_assignments