Обновление LCM ks2024.1 → ks2024.2

Обновление с ks2024.1 на следующую по порядку версию гарантирует, что все новые возможности будут внедрены правильно. Данный этап можно считать обязательной частью обновления LCM-узла.

Загрузите и подготовьте пакет обновления:

  1. Зайдите на LCM-узел по SSH.

  2. Загрузите архив upgrade-ks2024.2-sberlinux.tgz в папку /installer/update.

  3. Убедитесь, что в этой папке нет других файлов или папок, при необходимости удалите их.

  4. Убедитесь, что в точке монтирования / имеется более 200 Гб свободного пространства. Это необходимо для успешного выполнения обновления.

  5. Для последующего обновления репозитория в GitLab, выполните команду:

    # git config --global --add safe.directory '*'
    
  6. Добавьте строки в файлы ~/installer/settings и /installer/settings:

    export NEXUS_NAME=nexus
    export GITLAB_NAME=ks-lcm
    export VAULT_NAME=vault
    export NETBOX_NAME=netbox
    export CLIENT_NEXUS_NAME=
    
  7. Замените в файлах строку export RELEASE=ks2024.1-sber на export RELEASE=ks2024.2-sberlinux.

Запустите пайплайн обновления:

  1. Откройте веб-интерфейс развёрнутого GitLab.

  2. Перейдите в репозиторий project_k / deployments / bifrost и удалите его. Для этого перейдите в Project settings > Advanced и нажмите Delete project.

  3. Перейдите в репозиторий project_k / services / upgrade.

  4. Перейдите в раздел Settings > CI/CD > General pipelines.

  5. Установите значение Timeout5h.

  6. Запустите пайплайн Run pipeline по умолчанию. Дождитесь его завершения.

Обновите файлы Docker и перезапустите сервисы:

  1. Перейдите на LCM-узел и выполните команды, приведенные ниже.

    # cd /installer/config
    # source settings
    # sed -i "/netbox.dump/d" $CFG_HOME/netbox-compose.yml
    # sed -i "s|nexus3|nexus.\$DOMAIN/project_k/lcm/nexus3|" compose.yaml
    # sed -i "s|nginx:\$RELEASE|nexus.\$DOMAIN/project_k/lcm/nginx:\$RELEASE|" compose.yaml
    # docker compose -f $CFG_HOME/netbox-compose.yml up -d
    # docker compose -f $CFG_HOME/compose.yaml up -d
    # docker compose -f $CFG_HOME/compose.yaml exec vault /bin/sh -c "cat /vault/config/ca.crt >> /etc/ssl/certs/ca-certificates.crt"
    # docker compose -f $CFG_HOME/compose.yaml exec vault /bin/sh -c "cat /vault/config/ca.crt >> /etc/pki/ca-trust/source/anchors/ca.crt; update-ca-trust"
    # 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"
    
  2. Дождитесь когда откроется страница https://ks-lcm.cloud.itkey.com/admin/background_migrations.

  3. Дождитесь завершения всех задач на этой странице.

Обновите переменные в GitLab:

  1. Перейдите в веб-интерфейс развернутого GitLab.

  2. Перейдите в меню Groups и откройте группу project_k.

  3. Перейдите в раздел Settings > CI/CD > Variables и добавьте новые переменные:

    • BASE: sberlinux

    • NEXUS_NAME: nexus

  4. Перейдите в меню Groups и откройте группу deployments.

  5. Перейдите в раздел Settings > CI/CD > Variables и добавьте новую переменную

    • vault_secman: false

  6. Перейдите в меню Groups и откройте группу services.

  7. Перейдите в раздел Settings > CI/CD > Variables и добавьте новую переменную

    • vault_secman: false

Выполните команды на узле LCM:

  1. Зайдите на LCM-узел по SSH и выполните команды:

    # cd /installer/config
    # source settings
    
    # docker compose -f $CFG_HOME/compose.yaml exec vault /bin/sh -c "vault kv put -mount=secret_v2 deployments/secrets/accounts      gitlab_root_password=\"$(<$CFG_HOME/gitlab_root_password)\" gitlab_runner_token=\"$(<$CFG_HOME/gitlab_runner_token)\"   nexus_admin_password=\"$(<$CFG_HOME/nexus_admin_password)\" netbox_admin_password=\"$(<$CFG_HOME/netbox_admin_password)\"   netbox_db_password="$netbox_db_password" netbox_redis_password="$netbox_redis_password" netbox_redis_cache_password="$netbox_redis_cache_password""
    
    # rm -f $CFG_HOME/gitlab_root_password
    # rm -f $CFG_HOME/nexus_admin_password
    # rm -f $CFG_HOME/netbox_admin_password
    # echo "" > $CFG_HOME/gitlab_runner_token