﻿# Включение переносимых сервисов 

> [HTML Version](enable-portable-services.html)

Для пользовательских микросервисов в ELMA365 Enterprise вы можете использовать функциональные возможности переносимых сервисов. При этом есть возможность поддерживать хранение состояния, если подключить постоянное хранилище. Например, при остановке или перезапуске микросервиса с базой данных данные в нём не сбросятся. Подробнее о сервисах читайте в статье [«Настройка переносимого сервиса в модуле»](portable-services.md).

Процесс включения переносимых сервисов для приложения ELMA365 состоит из трёх этапов:

1. [Подготовить системы хранения данных.](#prepare-storage-systems)

2. [Внести изменения в конфигурационный файл.](#make-changes-to-file)

3. [Применить параметры для ELMA365 Enterprise.](#apply-parameters)

## Шаг 1. Подготовить системы хранения данных

В качестве системы хранения данных для ELMA365 используется Longhorn. Подробнее о настройке и установке этой системы читайте в статье [«Установка Longhorn»](install-longhorn.md).

## Шаг 2. Внести изменения в конфигурационный файл values-elma365.yaml

Изменения вносятся в конфигурационный файл \[OBJECT\], заполненный при установке ELMA365.

````
Начало внимание

````
Перед редактированием файла \[OBJECT\] создайте его резервную копию, поскольку некорректная настройка параметров может привести к сбоям в работе приложения ELMA365.

````
Конец внимание

````
Заполните конфигурационный файл \[OBJECT\] для настройки переносимых сервисов:

1. Убедитесь, что переносимые сервисы включены, то есть в параметре \[OBJECT\] задано значение \[OBJECT\].

2. В параметре \[OBJECT\] укажите \[OBJECT\], в котором будут размещаться переносимые сервисы.

3. Укажите систему хранения данных Longhorn в параметре \[OBJECT\].

4. Чтобы установить лимиты ресурсов, включить автомасштабирование микросервисов, распределить поды по узлам кластера и т. д., включите использование ConfigMap для переносимых сервисов. Для этого задайте в параметре \[OBJECT\] значение \[OBJECT\]. Подробнее читайте в статье [«Настройка параметров переносимых сервисов через ConfigMap»](configmap.md).

````
global:  
  ...  
\# Включение переносимых сервисов  
  managedServices:  
    enabled: true  
\# namespace для переносимых сервисов  
    namespace: elma365-applets  
\# storageclass для переносимых сервисов  
    defaultStorageClass: "longhorn"  
\# Включение использования ConfigMap  
    watchableConfigMap:  
      enabled: true  
      name: 'elma365-babysitter-config'  
...

## ````
Шаг 3. Применить параметры переносимых сервисов для ELMA365 Enterprise

Выполните обновление параметров приложения ELMA365 с использованием конфигурационного файла \[OBJECT\]. Это можно сделать двумя способами: через интернет или [без доступа к сети](#offline-update).

### Обновление параметров через интернет

1. ### Определите версию чарта, с помощью которого было установлено или обновлено приложение ELMA365:

````
helm show chart elma365/elma365

````
Пример выполнения команды:

(enabling-portable-services.png)

В результате выполнения команды информация о версии чарта будет указана в строке \[OBJECT\]. Сохраните это значение для выполнения следующего шага.

2. Обновите параметры приложения ELMA365 с применением конфигурационного файла \[OBJECT\]. Для этого используйте следующую команду, указав в ней для флага \[OBJECT\] установленную версию чарта вместо \[OBJECT\]:

````
helm upgrade --install elma365 elma365/elma365 -f values-elma365.yaml --version <elma365-chart-version> --timeout=30m --wait \[-n namespace\]

### ````
Обновление параметров без доступа в интернет

Перейдите в каталог с загруженным чартом ELMA365 и выполните команду:

````
helm upgrade --install elma365 ./elma365 -f values-elma365.yaml --timeout=30m --wait\[-n namespace\]

````
Обновление параметров занимает 10-30 минут. Дождитесь его завершения.