Skip to main content
Version: 1.1.0

Перезапуск сервисов

Большинство сервисов решения разворачиваются в рамках kubernetes-кластера, кроме blockchain. В этом разделе будет рассмотрено какими командами возможно выполнить остановку и перезапуск сервисов.

Kubernetes

Все сервисы кроме blockchain разворачиваются и функционируют в kubernetes-кластере. Сервисы ADCP разворачиваемые в kubernetes можно разделить на 2 основные группы:

  • stateless - все сервисы которые не хранят в себе данных
  • statefull - сервисы предназначенные для хранения данных

Для работы с этими сервисами предусматриваются различные команды. Более подробно о типах подов kubernetes см. официальную документацию

Statefull - сервисы

В случае проблем с одним из хранилищ данных рекомендуется выполнять уменьшение количества реплик подов до 0 для избежания вероятных проблем с консистентостью обрабатываемых данных вызванным удаление хранилища пода.

К таким подам относятся сервисы:

  • MongoDB
  • Redis
  • PostgreSQL
  • RabbitMQ
  • Apache Atlas
  • Solr
  • Zookeeper
  • Keycloak

Для того чтобы выполнить перезапуск этих подов рекомендуется выполнить следующую команду: kubetcl scale sts <sts_name> -n <namespace> --replicas=0

caution

Перед тем как указать колитчество реплик =0, необходимо сохранить, запомнить количество исходных реплик

После успешного исполнения команды, указанный сервис будет остановлен. Следующим шагом необходим включить под обратно, выполнив команду:

kubetcl scale sts <sts_name> -n <namespace> --replicas=n

где n - первоначальное количество реплик

После выполнения этой команды сервис начнет свою работу в штатном режиме.

danger

Не устанавливайте количество реплик отличное от первоначального значения. Это может привести к некорректной работе сервиса.

Stateless - сервисы

В случае необходимости перезапуска Stateless сервиса (все не Statefull сервисы) необходимо выполнить команду:

kubectl rollout restart deployment <deployment_name> -n <namespace>

По результатам исполнения команды будет перезапущен под с указанным в deployment_name именем.

Docker

Единственным сервисом работающим в Docker является нода блокчейна. Для работы с Docker Blockchain ноды предварительно необходимо перейти в рабочую папку вашего сервера, где выполнена установка, по умолчанию командой:

cd /alfanet_deploy

После того как вы перейдете в соответсувующую директорию будет возможно выполнить команды для остановки и запуска контейнера с blockchain-нодой

Просмотр статуса

Для просмотра статуса контейнера с blockchain-нодой необходимо выполнить команду:

docker-compose -f alfanet-child_node.yaml ps

В результате выполнения этой команды в консоль будет возвращен статус контейнера. Для получения более подробной информации о статусах рекомендуется изучить документацию docker по ссылке

Перезапуск

danger

Для работы с сервисом Blockhain, создайте заявку в системе поддержки. Работа с Blockhain-нодой требует дополнительных компетенций и возможности проверки работоспособности других нод сети.