Интеграция с VK Data Platform
Порядок интеграции VK Private Cloud с VK Data Platform приведен в документе Руководство по установке VK Data Platform.
Выполните инструкции, приведенные ниже, только после завершения шага Установка компонентов на деплой-ноде VK Private Cloud.
Extensions — модули, из которых собирается интерфейс Портала самообслуживания. Интерфейс раздают два сервиса:
solar-static— статическая часть интерфейса, включая модули extensions.solar-helium— серверная часть интерфейса (API).
Для обеспечения идемпотентности загрузки extensions зафиксируйте их версии:
-
На деплой-ноде VK Private Cloud перейдите в каталог Inventory:
$ cd /opt/vkcloud/inventory/vkcloud -
В блоке
dependenciesфайла./files/front_config/lk-app-master.manifest.json.j2зафиксируйте версии extensions для VK Data Platform:"@vk-cloud-data-services/data-platform": {"version": "1.214.0","lazy": false},"@vk-cloud-data-services/data-platform-externals": {"version": "1.195.0","lazy": false},"@vk-cloud-data-services/data-platform-common": {"version": "1.73.0","lazy": false},"@vk-cloud-data-services/private-data-platform": {"version": "1.91.0","lazy": false} -
Актуальные версии extensions указаны в файле
/opt/vkcloud/inventory/ansible-openstack/roles/helium-api-config/defaults/main.yml, который поставляется установщиком VK Data Platform. Сверьтесь с этим файлом и при необходимости обновите версии в./files/front_config/lk-app-master.manifest.json.j2.
-
Определите имя конфигурации Портала самообслуживания в Inventory:
$ grep -ri commonBox group_vars/vkcloud_kube/solar-helium.ymlПример вывода:
helm_mcs_app_cfg_name: commonBox_4.3v7Файл конфигурации Портала самообслуживания находится в каталоге
files/front_config/. Его имя состоит из значения переменнойhelm_mcs_app_cfg_nameи суффикса.config.json.j2. Пример:commonBox_4.3v7.config.json.j2. -
Убедитесь, что файл
dp-standalone-private-extension-config.json.j2существует:$ ls files/front_config/dp-standalone-private-extension-config.json.j2Пример вывода:
files/front_config/dp-standalone-private-extension-config.json.j2 -
Добавьте содержимое файла
dp-standalone-private-extension-config.json.j2в файл конфигурации Портала самообслуживания:-
Откройте файл конфигурации Портала самообслуживания (в примере —
commonBox_4.3v7.config.json.j2). -
В начало файла добавьте:
{% set dp_extension_config %}{% include 'dp-standalone-private-extension-config.json.j2' %}{% endset %} -
В конце файла замените
}{% endif -%}и закрывающую скобку}на блок, добавляющий в конфигурацию параметры VK Data Platform:}{% endif -%},"@vk-cloud-data-services/data-platform": {{ (dp_extension_config | from_json)['@vk-cloud-data-services/data-platform'] | to_nice_json(indent=2) }},"@vk-cloud-data-services/data-platform-common": {{ (dp_extension_config | from_json)['@vk-cloud-data-services/data-platform-common'] | to_nice_json(indent=2) }}}
-
shellkunchik — CLI установщика VK Data Platform, который выполняет шаги установки из файла conf/matreshka.yaml.
Один из этих шагов — плейбук helm-solar-static-dataplatform.yml, который применяет к запущенному solar-static роли solar-static-overlay и helium-api-config через kubectl patch.
Отключите выполнение плейбука helm-solar-static-dataplatform.yml.
Для этого в файле /opt/vkcloud/inventory/vkcloud/data-platform/conf/matreshka.yaml закомментируйте шаг с его выполнением:
# - type: ansible# playbook: helm-solar-static-dataplatform.yml# args: "-e 'yum_repos_url=http://{{ deploy_node_fqdn }}:{{ dataplatform_web_registry_port }}/repository' -e 'helm_image_registry={{ deploy_node_fqdn }}:{{ dataplatform_registry_port }}'"
Отключите prehelm/solar-static.yml, который подменяет extensions VK Data Platform в контейнере solar-static.
Для этого переименуйте файл ansible-openstack/roles/helm-chart-installer/tasks/prehelm/solar-static.yml:
$ cd /opt/vkcloud/inventory$ mv ansible-openstack/roles/helm-chart-installer/tasks/prehelm/solar-static.yml ansible-openstack/roles/helm-chart-installer/tasks/prehelm/solar-static.yml.bak
Единая точка конфигурирования фронтенда — VK Private Cloud. Для развертывания solar-static и solar-helium используйте плейбуки из VK Private Cloud.
-
На деплой-ноде VK Private Cloud перейдите в каталог Inventory:
$ cd /opt/vkcloud/inventory/vkcloud -
Выполните плейбук
helm-solar-static.yml:$ ../ansible-openstack/tools/box.sh deploy -b ../ansible-openstack -i vkcloud.yml -s iaas --playbook helm-solar-static.yml -
Выполните плейбук
helm-solar-helium.yml:$ ../ansible-openstack/tools/box.sh deploy -b ../ansible-openstack -i vkcloud.yml -s iaas --playbook helm-solar-helium.yml
- Выполните вход на Портал самообслуживания VK Private Cloud (подробнее — в документе Руководство пользователя в разделе Вход на Портал самообслуживания).
- Убедитесь, что вкладка Data Platform отображается.