Перезапуск сервисов
Большинство сервисов решения разворачиваются в рамках 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
Перед тем как указать колитчество реплик =0, необходимо сохранить, запомнить количество исходных реплик
После успешного исполнения команды, указанный сервис будет остановлен. Следующим шагом необходим включить под обратно, выполнив команду:
kubetcl scale sts <sts_name> -n <namespace> --replicas=n
где n - первоначальное количество реплик
После выполнения этой команды сервис начнет свою работу в штатном режиме.
Не устанавливайте количество реплик отличное от первоначального значения. Это может привести к некорректной работе сервиса.
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 по ссылке
Перезапуск
Для работы с сервисом Blockhain, создайте заявку в системе поддержки. Работа с Blockhain-нодой требует дополнительных компетенций и возможности проверки работоспособности других нод сети.