Перейти к содержанию

Обновление с использованием ANSIBLE-сценариев

В этой инструкции описан процесс обновления с использованием ANSIBLE-сценариев для Single CTS, Back CTS и Front CTS.

Обновление сервера

  1. Запустите ansible playbook для обновления всех контейнеров:

    ansible-playbook --ask-pass -v 05-update_cts.yaml
    
  2. Введите пароль учетной записи root после ввода команды.


Обновление ПО

Внимание!

При выполнении скриптов обновления нельзя пропускать паузы, заложенные в него, т.к. их пропуск может привести к ошибкам обновления.

Для обновления ПО, установленного в контейнерах docker, на сервере Registry выполните:

  1. Загрузите архив (доступен по ссылке).
  2. Разархивируйте в папку /tmp.
  3. Последовательно запустите скрипты в командной строке:

    cd /tmp
    chmod +x *.sh
    ./download.sh
    ./upload.sh
    
  4. Подключитесь к веб-интерфейсу администратора сервера Back и Front кластера с индексом 01 и 02, выполните команду для остановки антивируса:

    systemctl stop kesl klnagent64
    

    Зависание сервера

    В случае зависания сервера при остановке антивируса перезагрузите оба узла кластера через систему виртуализации.

  5. Выполните команду:

    pcs status
    
  6. Убедитесь, что ресурсы кластера запущены согласно списку ниже:

    • dlm-clone [dlm] (back кластер) – запущен на обоих узлах кластера;
    • clvmd-clone [clvmd] (back кластер) – запущен на обоих узлах кластера;
    • clusterfs-clone [clusterfs] (back кластер) – запущен на обоих узлах кластера;
    • cluster_ip – запущен на одном узле кластера;
    • dockerd – запущен на одном узле кластера;
    • node_exporter (back кластер) – запущен на одном узле кластера;
    • cadvisor (back кластер) – запущен на одном узле кластера;
    • vmfence (back кластер) – запущен на одном узле кластера.
  7. В случае если статус ресурсов кластера не соответствует перечисленным выше, выполните следующую команду, заменив resource_name на имя проблемного ресурса:

    pcs resource cleanup resource_name
    
  8. На узлах кластера Back c индексом 01 и 02 выполните команду ниже:

    ls -la /opt/ex_data/files
    

    Примечание

    В случае зависания вывода списка директорий перезагрузите оба узла кластера через систему виртуализации.

  9. Подключитесь к веб-интерфейсу администратора сервера Back и Front кластера с индексом 01 либо 02 и выполните команду для определения текущего первичного узла, на котором запущены ресурсы кластера:

    pcs status | grep dockerd
    
  10. Подключитесь к веб-интерфейсу администратора текущего первичного узла кластера Back и Front и последовательно выполните команду:

    docker ps -a > current_version.txt
    
  11. Сохраните полученный файл. Он потребуется для процедуры отката на предыдущую версию.

  12. Запустите скрипт автоматического обновления всех контейнеров первичных серверов и введите пароль учетной записи root после ввода команды:

    ansible-playbook --ask-pass -v 05-master_update_cts.yaml
    
  13. После обновления первичных серверов проверьте функционирование системы, выполнив проверку логов на наличие ошибок и функции отправки сообщений.

  14. Запустите скрипт автоматического обновления всех контейнеров вторичных серверов:

    ansible-playbook --ask-pass -v 06-slave_update_cts.yaml
    
  15. Введите пароль учетной записи root.

  16. Подключитесь к веб-интерфейсу администратора сервера Back и Front кластера с индексом 01 и 02, выполните команду для запуска антивируса:

    systemctl start kesl klnagent64
    

Откат ПО

Для отката на предыдущую версию ПО, установленного в контейнерах docker:

  1. Подключитесь к веб-интерфейсу администратора узлов кластера Back с индексами 01 и 02.
  2. Добавьте в файл /opt/express/settings следующие строки, заменив в них версию ПО на значения из файла current_version.txt (файл получен на шаге 3 описания автоматического обновления с помощью скриптов ansible):

    images:
        messaging: messaging:1.39.6
        settings: settings:1.39.0
        audit: audit:1.39.0
        admin: admin:1.39.1
        file_service: file_service:1.39.0
        voex: voex:1.39.0
        ad_phonebook: ad_phonebook:1.39.1
        email_notifications: email_notifications:1.39.0
        botx: botx:1.39.1
        ad_integration: ad_integration:1.39.0
        kdc: kdc:1.39.0
        routing_schema_service: routing_schema_service:1.39.0
    
  3. Подключитесь к веб-интерфейсу администратора узлов кластера Front с индексами 01 и 02.

  4. Добавьте в файл /opt/express/settings следующие строки, заменив в них версию ПО на значения из файла current_version.txt (получен на шаге 3 описания автоматического обновления с помощью скриптов ansible):

    images:
        trusts: trusts:1.39.0
    
  5. Запустите скрипт автоматического обновления всех контейнеров первичных серверов и введите пароль учетной записи root после ввода команды:

    ansible-playbook --ask-pass -v 05-master_update_cts.yaml
    
  6. После обновления первичных серверов проверьте нормальное функционирование системы, выполнив проверку логов и функцию отправки сообщений.

  7. Запустите скрипт автоматического обновления всех контейнеров вторичных серверов:

    ansible-playbook --ask-pass -v 06-slave_update_cts.yaml
    
  8. Введите пароль учетной записи root после ввода команды.


Обновление ПО

Внимание!

При выполнении скриптов обновления нельзя пропускать паузы, заложенные в него, т.к. их пропуск может привести к ошибкам обновления.

Для обновления ПО, установленного в контейнерах docker Web client кластера, на сервере Registry выполните:

  1. Скопируйте новые версии образов docker и скрипт загрузки образов в каталог /tmp сервера Registry.

  2. С помощью команды ниже уточните новую версию образа контейнера web client:

    docker images | grep web_client
    
  3. Измените параметр web_client_image на актуальную версию, полученную на предыдущем шаге (параметр локализован в файле настроек group_vars/all.yaml в каталоге сценариев ANSIBLE web client (/opt/deploy/playbook-webclient)).

  4. Запустите скрипт автоматического обновления всех контейнеров первичного узла кластера Web Client:

    ansible-playbook --ask-pass -v 05-master_update_web.yaml
    
  5. Введите пароль учетной записи root.

  6. После обновления первичного узла кластера Web Client проверьте нормальное функционирование системы, выполнив проверку логов и функции отправки сообщений.
  7. Запустите скрипт автоматического обновления всех контейнеров вторичного узла кластера Web Client аналогично пп. 5-6.