Запуск Integration API¶
Подготовка к запуску¶
Сначала необходимо извлечь docker-образ Integration API из дистрибутива. Далее запускаем терминал и выполняем в нем команды, настраивающие его на работу с хранилищем docker-образов в Minikube:
minikube docker-env
eval $(minikube -p minikube docker-env)
Примечание
В примерах будет использоваться полный номер версии TerraLink xDE Pro 3.2403.23145.1, который включает номер релиза и билда. В случае использования другого номера версии, замените его во всех приведенных примерах команд и содержимого файлов.
Загрузка docker-образа¶
Переходим в папку Integration.REST
и загружаем docker-образ из tar-файла:
docker load -i terralink-xdepro-integration-rest-3.2403.23145.1.tar
Результатом выполнения команды будет сообщение о загрузке образа:
Создание приложения¶
Создаем файл rest-api-integration-deployment.yaml
с конфигурацией приложения:
apiVersion: apps/v1
kind: Deployment
metadata:
name: rest-api-integration
labels:
name: xdepro
component: rest-api-integration
spec:
replicas: 3
selector:
matchLabels:
name: xdepro
component: rest-api-integration
template:
metadata:
labels:
name: xdepro
component: rest-api-integration
spec:
volumes:
- name: rest-api-integration-logs-storage
persistentVolumeClaim:
claimName: logs-pv-claim
containers:
- name: rest-api-integration-container
image: terralink-xdepro-integration-rest:3.2403.23145.1
imagePullPolicy: Never
ports:
- containerPort: 80
volumeMounts:
- mountPath: "/usr/share/TerraLink.xDEPro"
name: rest-api-integration-logs-storage
env:
- name: DOCFLOW_CONNECTION_STRING
value: "User ID=LOGIN;Password=PASSWORD;Host=100.100.100.100;Port=5434;Database=DOCFLOW_DB;MaxPoolSize=500"
- name: DOCFLOW_LOG_TARGET
value: "AsyncFileLog"
- name: DOCFLOW_PROVIDER_NAME
value: "Npgsql"
- name: DOCFLOW_APPSETTINGS
value: "{\"Jwt\":{\"Key\":\"831AAB02-60F3-440F-80F6-2D5C5DAC2DCA\"},\"DataProtectionKey\":\"d416487fa3ac4a1ca4e342b8c5971d18\"}"
В этой конфигурации:
создается 3 реплики;
в папку
/usr/share/TerraLink.xDEPro
монтируется том с логамиlogs-pv-claim
, созданный ранее;для создания контейнеров используется образ
terralink-xdepro-integration-rest:3.2403.23145.1
;параметры контейнера указываются в переменных окружения, хранящихся в поле
.spec.template.spec.containers.env
.
Применяем конфигурацию:
kubectl apply -f rest-api-integration-deployment.yaml
Создание сервиса¶
Теперь необходимо создать сервис для доступа к приложению извне. Для этого создадим файл rest-api-integration-service.yaml
с конфигурацией сервиса:
apiVersion: v1
kind: Service
metadata:
name: rest-api-integration-service
labels:
name: xdepro
component: rest-api-integration
spec:
selector:
name: xdepro
component: rest-api-integration
ports:
- port: 80
targetPort: 80
type: LoadBalancer
Применяем конфигурацию:
kubectl apply -f rest-api-integration-service.yaml
Получение адреса сервиса¶
Получаем адрес, по которому можно подключиться к созданному сервису:
minikube service --url rest-api-integration-service
Команда выведет URL-адрес сервиса, который будет использован другими модулями для подключения к Integration API.
Проверка установленного компонента¶
В качестве проверки успешности запуска Integration API можно открыть страницу в браузере и перейти по полученному адресу. Должна открыться страница Swagger UI.