VK Private Cloud logo
Помощь
Обновлена 17 июля 2026 г. в 15:55

Обновление Inventory

Изменение Inventory при обновлении с версии 4.0

Получение файла минимальной конфигурации новой версии

  1. Разархивируйте новую версию Inventory-генератора:

    $ cd $NEW_DISTRIB_DIR$ tar xvf invgen_box-${NEW_RELEASE_NAME}.tar.gz
  2. Сгенерируйте новый файл минимальной конфигурации:

    $ cd $NEW_DISTRIB_DIR/invgen_box-$NEW_RELEASE_NAME$ chmod +x invgen-${INVGEN_ARCH}$ ./invgen-${INVGEN_ARCH} config-example > ~/minimal_${NEW_RELEASE_NAME}.yml
  3. Заполните полученный файл актуальными для Платформы значениями.

Корректировка файла минимальной конфигурации новой версии

Перейдите в директорию новой версии дистрибутива и запустите скрипт pre_upgrade.py:

$ cd $NEW_DISTRIB_DIR/repos_mcs_distr_box-$NEW_RELEASE_NAME/upgrade/minimal_yml$ ./pre_upgrade.py \  --invgen-path $PREV_DISTRIB_DIR/invgen_box-$PREV_RELEASE_NAME/invgen-$INVGEN_ARCH \  -o $PREV_INVENTORY_DIR/vkcloud \  -n ~/minimal_${NEW_RELEASE_NAME}.yml

В командной строке отобразится следующая информация:

  • Переменные, которые были изменены после генерации при установке VK Private Cloud 4.0 Сохраните их для переноса переменных после генерации Inventory для VK Private Cloud 4.1.1.

    Пример
    +default_innodb_buffer_pool_size: 3221225472 # vkcloud/group_vars/vkcloud/common.yml-default_innodb_buffer_pool_size: 805306368 # vkcloud/group_vars/vkcloud/common.yml+mysql|max_connections: 10000 # vkcloud/group_vars/vkcloud_galera_barbican/vars.yml-mysql|max_connections: 100 # vkcloud/group_vars/vkcloud_galera_barbican/vars.yml+mysql|max_connections: 30000 # vkcloud/group_vars/vkcloud_galera_billingaccountservice/vars.yml-mysql|max_connections: 300 # vkcloud/group_vars/vkcloud_galera_billingaccountservice/vars.yml
  • Параметры, устаревшие для VK Private Cloud 4.1.1. Удалите их из файла minimal.yml новой версии.

    Пример
    vars:  keycloak_ldap_admins_groupsDn: cn=groups,cn=accounts,{{ keycloak_ldap_basedn }}  keycloak_ldap_admins_search: (memberof=cn=ldap_admins,cn=groups,cn=accounts,{{ keycloak_ldap_basedn }})  keycloak_ldap_admins_usersDn: cn=users,cn=accounts,{{ keycloak_ldap_basedn }}  keycloak_ldap_basedn: dc=vk,dc=team  keycloak_ldap_fullsync_period: 300  keycloak_ldap_host: ldap.{{ stand_domain_name }}
  • Параметры требований установки, новые для VK Private Cloud 4.1.1. Добавьте их в файл minimal.yml новой версии.

    Пример
    components:- rs- freeipa- network- sprut- maas- laasequipment:  evh: 0groups:  private_dns:  - kcn001

Восстановление файла minimal.yml VK Private Cloud 4.0

Если файл minimal.yml, подготовленный для VK Private Cloud 4.0, был утерян, восстановите его:

$ ./restore_minimal_yaml.py -i $PREV_INVENTORY_DIR/vkcloud/ -f ~/minimal.yml --write$ head ~/minimal.ymlcomponents:- cloud_audit_logs- highiops- magnum- octavia- trove- postfix- manila- xaasequipment:

Проверьте, что значения переменных в файле корректны для установленной VK Private Cloud 4.0.

Слияние файлов minimal.yml разных версий

Внесите в файл minimal.yml новой версии изменения в соответствии с рекомендациями, полученными в результате выполнения скрипта pre_upgrade.py (подробнее — в разделе Корректировка файла минимальной конфигурации новой версии):

  1. Откройте файл minimal.yml:

    $ vi ~/minimal.yml
  2. Удалите устаревшие для VK Private Cloud 4.1.1 данные, сверяясь со списком из раздела Корректировка файла минимальной конфигурации новой версии.

  3. Добавьте новые переменные для VK Private Cloud 4.1.1 в minimal.yml, сверяя их с потребностями установки (например, может не потребоваться активация сервисов MaaS/LaaS и перенос их на evh-хост и т. д.).

Генерация Inventory

Сгенерируйте новый Inventory из полученного файла minimal.yml:

$ $NEW_DISTRIB_DIR/invgen_box-$NEW_RELEASE_NAME/invgen-$INVGEN_ARCH generate -config ~/minimal.yml -target ~/inventory-$NEW_RELEASE_NAME

В сгенерированный Inventory внесите изменения в соответствии с рекомендациями, полученными на предыдущем шаге в выводе скрипта pre_upgrade.py в разделе Корректировка файла минимальной конфигурации новой версии.

Обновление файла vault.yml

  1. При необходимости раскодируйте файл vault.yml для обработки скриптом vault_migration.py, чтобы выполнить миграцию:

    $ ansible-vault decrypt $PREV_INVENTORY_DIR/vkcloud/group_vars/vkcloud/vault.yml
  2. Перенесите пароли в новый Inventory с помощью скрипта vault_migration.py:

    $ cd $NEW_DISTRIB_DIR/repos_mcs_distr_box-$NEW_RELEASE_NAME/upgrade/minimal_yml$ ./vault_migration.py --source $PREV_INVENTORY_DIR/vkcloud/group_vars/vkcloud/vault.yml --target ~/inventory-$NEW_RELEASE_NAME/vkcloud/group_vars/vkcloud/vault.yml
  3. В файле ~/inventory-$NEW_RELEASE_NAME/vkcloud/group_vars/vkcloud/vault.yml измените значение переменной vault_ceph_admin_key на содержимое переменной vault_ceph_admin_glance_tmp.

  4. При необходимости закодируйте обе версии после миграции vault-файла:

    $ ansible-vault encrypt $PREV_INVENTORY_DIR/vkcloud/group_vars/vkcloud/vault.yml$ ansible-vault encrypt ~/inventory-$NEW_RELEASE_NAME/vkcloud/group_vars/vkcloud/vault.yml

Изменение Inventory при обновлении с версии 4.1

Внесите изменения в файлы:

  1. В файле group_vars/vkcloud/addresses.yml добавьте строку:

    kube_management_address: '{{ ansible_facts[netname_to_iface.internal][''ipv4''][''address''] }}'
  2. В файле group_vars/vkcloud/imageloader.yml удалите фрагмент:

    - name: PostgresProEnterprise-14-2024-04-12_10-45-03- name: PostgresPro-14-2024-04-12_10-45-03- name: PostgreSQL-14-2024-04-11_14-02-00  properties: '{{ glance_default_trove_image_props | combine ({ ''mcs_name'': ''PostgresProEnterprise-14-2024-04-12_10-45-03'', ''os_distro'': ''centos-stream8'', ''os_type'': ''linux'', ''os_version'': ''8'', ''trove_datastore_name'': ''postgrespro_enterprise'', ''trove_datastore_version'': ''14'', ''trove_ga_version'': ''1.13.38'' }) }}'  properties: '{{ glance_default_trove_image_props | combine ({ ''mcs_name'': ''PostgresPro-14-2024-04-12_10-45-03'', ''os_distro'': ''centos-stream8'', ''os_type'': ''linux'', ''os_version'': ''8'', ''trove_datastore_name'': ''postgrespro'', ''trove_datastore_version'': ''14'', ''trove_ga_version'': ''1.13.38'' }) }}'  properties: '{{ glance_default_trove_image_props | combine ({ ''mcs_name'': ''PostgreSQL-14-2024-04-11_14-02-00'', ''os_distro'': ''alma85'', ''os_type'': ''linux'', ''os_version'': ''8.5'', ''trove_datastore_name'': ''postgresql'', ''trove_datastore_version'': ''14'', ''trove_ga_version'': ''1.13.38'' }) }}'  location: '{{ yum_repos_url }}/share/osimages/PostgresProEnterprise-14-2024-04-12_10-45-03.gz'  location: '{{ yum_repos_url }}/share/osimages/PostgresPro-14-2024-04-12_10-45-03.gz'  location: '{{ yum_repos_url }}/share/osimages/PostgreSQL-14-2024-04-11_14-02-00.gz'
  3. В секцию glance_service_images файла group_vars/vkcloud/imageloader.yml добавьте фрагмент:

    - name: PostgreSQL-14-2024-08-12_08-41-12format: rawlocation: '{{ yum_repos_url }}/share/osimages/PostgreSQL-14-2024-08-12_08-41-12.gz'required_by: troveproperties: '{{ glance_default_trove_image_props | combine ({ ''mcs_name'': ''PostgreSQL-14-2024-08-12_08-41-12'', ''os_distro'': ''alma85'', ''os_type'': ''linux'', ''os_version'': ''8.5'', ''trove_datastore_name'': ''postgresql'', ''trove_datastore_version'': ''14'', ''trove_ga_version'': ''1.13.38'' }) }}'- name: PostgresPro-14-2024-08-12_12-35-41  format: raw  location: '{{ yum_repos_url }}/share/osimages/PostgresPro-14-2024-08-12_12-35-41.gz'  required_by: trove  properties: '{{ glance_default_trove_image_props | combine ({ ''mcs_name'': ''PostgresPro-14-2024-08-12_12-35-41'', ''os_distro'': ''centos-stream8'', ''os_type'': ''linux'', ''os_version'': ''8'', ''trove_datastore_name'': ''postgrespro'', ''trove_datastore_version'': ''14'', ''trove_ga_version'': ''1.13.38'' }) }}'- name: PostgresProEnterprise-14-2024-08-12_12-35-41  format: raw  location: '{{ yum_repos_url }}/share/osimages/PostgresProEnterprise-14-2024-08-12_12-35-41.gz'  required_by: trove  properties: '{{ glance_default_trove_image_props | combine ({ ''mcs_name'': ''PostgresProEnterprise-14-2024-08-12_12-35-41'', ''os_distro'': ''centos-stream8'', ''os_type'': ''linux'', ''os_version'': ''8'', ''trove_datastore_name'': ''postgrespro_enterprise'', ''trove_datastore_version'': ''14'', ''trove_ga_version'': ''1.13.38'' }) }}'
  4. В файле group_vars/vkcloud/trove.yml замените строки:

    • "14": PostgreSQL-14-2024-04-11_14-02-00 на "14": PostgreSQL-14-2024-08-12_08-41-12.
    • "14": PostgresPro-14-2024-04-12_10-45-03 на "14": PostgresPro-14-2024-08-12_12-35-41.
    • "14": PostgresProEnterprise-14-2024-04-12_10-45-03 на "14": PostgresProEnterprise-14-2024-08-12_12-35-41.
  5. В файле group_vars/vkcloud/versions.yml замените строки:

    • helm_auth_service: 4.0.0-rc-20230426-202405270909.git4ed31f79 на helm_auth_service: 4.1.0-20240920.
    • mcs_admin_ui_helm_version: v4.1.4-private-rc на mcs_admin_ui_helm_version: v4.1.5-private-rc.
    • qa_test_images: 4.1.23 на qa_test_images: 4.1.27.1.
    • dusk: 4.1.0-1 на dusk: 4.1.1-1.
  6. В файле group_vars/vkcloud/zabbix.yml удалите фрагмент:

    Clickhouse:  meta:    - eventhouse  templates:    - Clickhouse
  7. В файле group_vars/vkcloud_kube/auth-service.yml добавьте фрагмент:

    helm_AUTH_SERVICE_MFA_OTP_TRIES_LIMIT: 5helm_AUTH_SERVICE_MFA_OTP_TRIES_LIMIT_ENABLED: true
  8. В файле group_vars/vkcloud_kube/keycloak.yml замените фрагмент:

    Исходный фрагмент
    helm_keycloak_java_opts_append: -Djboss.as.management.blocking.timeout={{ helm_keycloak_dpl_timeout }} -Djgroups.dns.query={{ helm_keycloak_jgroups_dns_query }}
    Новый фрагмент
    helm_keycloak_java_opts_append: -Djboss.as.management.blocking.timeout={{ helm_keycloak_dpl_timeout }} -Djgroups.dns.query={{ helm_keycloak_jgroups_dns_query }} -Djavax.net.ssl.trustStore=/etc/pki/ca-trust/extracted/java/cacerts
  9. В файле group_vars/vkcloud_kube/projects-service-proxy.yml добавьте фрагмент:

    helm_PROJECTS_SERVICE_PROXY_BREEZE_REQUIRED_MASTERS: 1helm_PROJECTS_SERVICE_PROXY_BREEZE_REQUIRED_REPLICAS: 0
  10. В файле group_vars/vkcloud_kube/services_manager.yml добавьте фрагмент:

    helm_SERVICES_MANAGER_MCS_BREEZE_REQUIRED_REPLICAS: 0helm_SERVICES_MANAGER_MCS_BREEZE_REQUIRED_MASTERS: 1
  11. В файле group_vars/vkcloud_kube/users-service.yml добавьте фрагмент:

    helm_USERS_SERVICE_BREEZE_REQUIRED_MASTERS: 1helm_USERS_SERVICE_BREEZE_REQUIRED_REPLICAS: 0
  12. В файле group_vars/vkcloud_ost_kube/vars.yml добавьте строку:

    kubelet_readonly_port: 0
  13. В секцию proxy файла host_vars/vkcloud_backends/public_mcs-admin-ui.yml добавьте фрагмент:

    backend_custom_settings: |acl sa_openstack_api path_beg -i /admin/api/openstack/8774/ # novaacl sa_openstack_api path_beg -i /admin/api/openstack/8776/ # cinderacl sa_openstack_api path_beg -i /admin/api/openstack/8786/ # manilaacl sa_openstack_api path_beg -i /admin/api/openstack/5000/ # keystoneacl sa_openstack_api path_beg -i /admin/api/openstack/8778/ # nova-placementacl sa_openstack_api path_beg -i /admin/api/openstack/9292/ # glanceacl sa_openstack_api path_beg -i /admin/api/openstack/8779/ # trove / not usedacl sa_openstack_api path_beg -i /admin/api/openstack/9876/ # octaviaacl sa_openstack_api path_beg -i /admin/api/openstack/9696/ # neutronacl sa_openstack_api path_beg -i /admin/api/openstack/2116/ # sprutacl sa_openstack_api path_beg -i /admin/api/openstack/9511/ # magnumacl sa_openstack_api path_beg -i /admin/api/openstack/9311/ # barbicanacl sa_openstack_prefix path_beg -i /admin/api/openstack/http-request del-header X-Region-Api-Proxy-Domain if sa_openstack_prefix !sa_openstack_api