Обновление LCM ks2024.4 → ks2025.1.1¶
Обновление с ks2024.4 на следующую по порядку версию гарантирует, что все новые возможности будут внедрены правильно. Данный этап можно считать обязательной частью обновления LCM-узла.
Загрузите и подготовьте пакет обновления:
Зайдите на LCM-узел по SSH.
Загрузите архив
upgrade-ks2025.1.1-sberlinux.tgzв папку/installer/update.Убедитесь, что в этой папке нет других файлов или папок, при необходимости удалите их.
Убедитесь, что в точке монтирования
/имеется более 200 Гб свободного пространства. Это необходимо для успешного выполнения обновления.Для последующего обновления репозитория в GitLab, выполните команду:
# git config --global --add safe.directory '*'Замените в файлах
~/installer/settingsи/installer/config/settingsстрокуexport RELEASE=ks2024.4-sberlinuxнаexport RELEASE=ks2025.1.1-sberlinux.
Зайдите на LCM-узел по SSH.
Загрузите архив
upgrade-ks2025.1.1-ubuntu.tgzв папку/installer/update.Убедитесь, что в этой папке нет других файлов или папок, при необходимости удалите их.
Убедитесь, что в точке монтирования
/имеется более 200 Гб свободного пространства. Это необходимо для успешного выполнения обновления.Для последующего обновления репозитория в GitLab, выполните команду:
# git config --global --add safe.directory '*'Замените в файлах
~/installer/settingsи/installer/config/settingsстрокуexport RELEASE=ks2024.4-ubuntuнаexport RELEASE=ks2025.1.1-ubuntu.
Запустите пайплайн обновления:
Откройте веб-интерфейс развёрнутого GitLab.
Перейдите в репозиторий project_k / deployments / bifrost и удалите его. Для этого перейдите в и нажмите Delete project.
Перейдите в репозиторий project_k / deployments / region1 и удалите его. Для этого перейдите в и нажмите Delete project.
Перейдите в репозиторий project_k / services / upgrade.
Перейдите в раздел .
Установите значение Timeout —
5h.Запустите пайплайн Run pipeline по умолчанию. Дождитесь его завершения.
Если пайплайн завершается с ошибкой, то:
Повторно загрузите архив
upgrade-ks2025.1.1-<sberlinux/ubuntu>.tgzв папку/installer/update.Повторно запустите пайплайн по умолчанию и дождитесь его завершения.
Восстановите пароли доступа NetBox перед проведением обновления:
Зайдите на LCM-узел по SSH.
Извлеките из архива инсталлятора файлы
installer/netbox-docker/env/*.env.Переместите эти файлы в
/installer/data/netbox/env/на LCM-узле, заменив существующие.
Обновите файлы Docker и перезапустите сервисы:
Зайдите на LCM-узел по SSH и выполните команды, приведенные ниже.
# cd /installer/config # source settings # sed -i "/netbox.dump/d" $CFG_HOME/netbox-compose.yml # chown -R 994:994 $NETBOX_HOME/{postgres,redis,redis-cache} # docker compose -f $CFG_HOME/netbox-compose.yml up -d # docker compose -f $CFG_HOME/compose.yaml up -d nexus nginx vaultЗайдите в веб-интерфейс Nexus и примите лицензионное соглашение.
Зайдите на LCM-узел по SSH и выполните следующие команды:
# docker compose -f $CFG_HOME/compose.yaml exec vault /bin/sh -c "cat /vault/config/chain-ca.pem >> /etc/pki/ca-trust/source/anchors/ca.crt; update-ca-trust"# docker compose -f $CFG_HOME/compose.yaml exec vault /bin/sh -c "cat /vault/config/chain-ca.pem >> /etc/ssl/certs/ca-certificates.crt"# docker restart vault # docker compose -f $CFG_HOME/compose.yaml exec vault /bin/sh -c "vault operator unseal" # docker compose -f $CFG_HOME/compose.yaml exec vault /bin/sh -c "vault login"
Обновление GitLab необходимо делать в несколько этапов. Сначала обновите GitLab до версии 17.3.7-ce.0:
Зайдите на LCM-узел по SSH.
Выполните команды:
# sed -i "s|\$NEXUS_FQDN/project_k/lcm/gitlab:\$RELEASE|\$NEXUS_FQDN/project_k/lcm/gitlab:\$RELEASE-17.3.7-ce.0|" compose.yaml # docker compose -f $CFG_HOME/compose.yaml up -d gitlabДождитесь когда откроется страница
https://ks-lcm.cloud.itkey.com/admin/background_migrations.Дождитесь завершения всех задач на этой странице.
Обновите GitLab до версии 17.5.5-ce.0:
Зайдите на LCM-узел по SSH.
Выполните команды:
# sed -i "s|\$NEXUS_FQDN/project_k/lcm/gitlab:\$RELEASE-17.3.7-ce.0|\$NEXUS_FQDN/project_k/lcm/gitlab:\$RELEASE-17.5.5-ce.0|" compose.yaml # docker compose -f $CFG_HOME/compose.yaml up -d gitlabДождитесь когда откроется страница
https://ks-lcm.cloud.itkey.com/admin/background_migrations.Дождитесь завершения всех задач на этой странице.
Обновите GitLab до версии ks2025.1.1:
Зайдите на LCM-узел по SSH.
Выполните команды:
# sed -i "s|\$NEXUS_FQDN/project_k/lcm/gitlab:\$RELEASE-17.5.5-ce.0|\$NEXUS_FQDN/project_k/lcm/gitlab:\$RELEASE|" compose.yaml # docker compose -f $CFG_HOME/compose.yaml up -d gitlab gitlab-runnerКонтейнер с GitLab поднимается очень долго. Проверить состояние запуска контейнера можно с помощью команды:
# docker logs gitlab -f -n 100Дождитесь когда откроется страница
https://ks-lcm.cloud.itkey.com/admin/background_migrations.Дождитесь завершения всех задач на этой странице.
В новой версии GitLab по умолчанию доступ с использованием токена между проектами запрещен. Обновите настройку доступа между проектами GitLab, выполнив перечисленные действия для каждого региона:
Зайдите в веб-интерфейс GitLab.
Перейдите в репозиторий вашего региона project_k / deployments / <имя региона>.
Перейдите в раздел .
Разрешите использование job-токена из всех проектов, для этого включите опцию All groups and projects.
Выполните команды на узле LCM:
Зайдите на LCM-узел по SSH и выполните команды:
# cd /installer/config # source settings # sed -i "s|DB_PASSWORD=.*|DB_PASSWORD=netbox_db_password|" $NETBOX_HOME/env/netbox.env # sed -i "s|REDIS_CACHE_PASSWORD=.*|REDIS_CACHE_PASSWORD=netbox_redis_cache_password|" $NETBOX_HOME/env/netbox.env # sed -i "s|REDIS_PASSWORD=.*|REDIS_PASSWORD=netbox_redis_password|" $NETBOX_HOME/env/netbox.env # sed -i "s|SUPERUSER_PASSWORD=.*|SUPERUSER_PASSWORD=netbox_admin_password|" $NETBOX_HOME/env/netbox.env # sed -i "s|AUTH_LDAP_BIND_PASSWORD: .*|AUTH_LDAP_BIND_PASSWORD: \"LDAP-BIND-PASSWORD\"|" $NETBOX_HOME/env/netbox.env # sed -i "s|POSTGRES_PASSWORD=.*|POSTGRES_PASSWORD=netbox_db_password|" $NETBOX_HOME/env/postgres.env # sed -i "s|REDIS_PASSWORD=.*|REDIS_PASSWORD=netbox_redis_password|" $NETBOX_HOME/env/redis.env # sed -i "s|REDIS_PASSWORD=.*|REDIS_PASSWORD=netbox_redis_cache_password|" $NETBOX_HOME/env/redis-cache.env