Обновление Inventory
-
Разархивируйте новую версию Inventory-генератора:
$ cd $NEW_DISTRIB_DIR$ tar xvf invgen_box-${NEW_RELEASE_NAME}.tar.gz -
Сгенерируйте новый файл минимальной конфигурации:
$ cd $NEW_DISTRIB_DIR/invgen_box-$NEW_RELEASE_NAME$ chmod +x invgen-${INVGEN_ARCH}$ ./invgen-${INVGEN_ARCH} config-example > ~/minimal_${NEW_RELEASE_NAME}.yml -
Заполните полученный файл актуальными для Платформы значениями.
Перейдите в директорию новой версии дистрибутива и запустите скрипт 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=teamkeycloak_ldap_fullsync_period: 300keycloak_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, был утерян, восстановите его:
$ ./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 новой версии изменения в соответствии с рекомендациями, полученными в результате выполнения скрипта pre_upgrade.py (подробнее — в разделе Корректировка файла минимальной конфигурации новой версии):
-
Откройте файл
minimal.yml:$ vi ~/minimal.yml -
Удалите устаревшие для VK Private Cloud 4.1.1 данные, сверяясь со списком из раздела Корректировка файла минимальной конфигурации новой версии.
-
Добавьте новые переменные для VK Private Cloud 4.1.1 в
minimal.yml, сверяя их с потребностями установки (например, может не потребоваться активация сервисов MaaS/LaaS и перенос их на evh-хост и т. д.).
Сгенерируйте новый 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для обработки скриптомvault_migration.py, чтобы выполнить миграцию:$ ansible-vault decrypt $PREV_INVENTORY_DIR/vkcloud/group_vars/vkcloud/vault.yml -
Перенесите пароли в новый 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 -
В файле
~/inventory-$NEW_RELEASE_NAME/vkcloud/group_vars/vkcloud/vault.ymlизмените значение переменнойvault_ceph_admin_keyна содержимое переменнойvault_ceph_admin_glance_tmp. -
При необходимости закодируйте обе версии после миграции 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
Внесите изменения в файлы:
-
В файле
group_vars/vkcloud/addresses.ymlдобавьте строку:kube_management_address: '{{ ansible_facts[netname_to_iface.internal][''ipv4''][''address''] }}' -
В файле
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-00properties: '{{ 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' -
В секцию
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-41format: rawlocation: '{{ yum_repos_url }}/share/osimages/PostgresPro-14-2024-08-12_12-35-41.gz'required_by: troveproperties: '{{ 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-41format: rawlocation: '{{ yum_repos_url }}/share/osimages/PostgresProEnterprise-14-2024-08-12_12-35-41.gz'required_by: troveproperties: '{{ 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'' }) }}' -
В файле
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.
-
В файле
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.
-
В файле
group_vars/vkcloud/zabbix.ymlудалите фрагмент:Clickhouse:meta:- eventhousetemplates:- Clickhouse -
В файле
group_vars/vkcloud_kube/auth-service.ymlдобавьте фрагмент:helm_AUTH_SERVICE_MFA_OTP_TRIES_LIMIT: 5helm_AUTH_SERVICE_MFA_OTP_TRIES_LIMIT_ENABLED: true -
В файле
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 -
В файле
group_vars/vkcloud_kube/projects-service-proxy.ymlдобавьте фрагмент:helm_PROJECTS_SERVICE_PROXY_BREEZE_REQUIRED_MASTERS: 1helm_PROJECTS_SERVICE_PROXY_BREEZE_REQUIRED_REPLICAS: 0 -
В файле
group_vars/vkcloud_kube/services_manager.ymlдобавьте фрагмент:helm_SERVICES_MANAGER_MCS_BREEZE_REQUIRED_REPLICAS: 0helm_SERVICES_MANAGER_MCS_BREEZE_REQUIRED_MASTERS: 1 -
В файле
group_vars/vkcloud_kube/users-service.ymlдобавьте фрагмент:helm_USERS_SERVICE_BREEZE_REQUIRED_MASTERS: 1helm_USERS_SERVICE_BREEZE_REQUIRED_REPLICAS: 0 -
В файле
group_vars/vkcloud_ost_kube/vars.ymlдобавьте строку:kubelet_readonly_port: 0 -
В секцию
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