Представленный шаблон позволяет развернуть сервис eltex-disconnect в кластере OpenShift.
Подготовка к установке:
- должен быть развёрнут и запущен кластер OpenShift версии не ниже 3.11
- должен быть установлен и настроен сервис eltex-doors
- должен быть доступ по ssh к ноде кластера с ролью master
Порядок установки:
- в случае использования Atomic Registry предварительно настроить соответствующий ImageStream
- сохранить приложенный шаблон в файл eltex-disconnect-template.yaml на ноде кластера с ролью master
применить шаблон при помощи команды
oc apply -f eltex-disconnect-template.yaml
- находясь в Application Console, развернуть приложение из шаблона, указав следующие параметры:
- Name of service - имя приложения в Openshift
- Image Name - имя образа или путь к нему
- PCRF Host - адрес сервера PCRF
- public.pem - содержимое открытого ключа, используемого в сервисе eltex-doors
- проверить работу сервиса в соответствии с его документацией
eltex-disconnect-template.yaml
kind: Template apiVersion: v1 metadata: name: eltex-disconnect-template annotations: description: "Eltex-disconnect application template" openshift.io/display-name: "The Eltex Disconnect service" openshift.io/provider-display-name: "Eltex" iconClass: "icon-openjdk" objects: - apiVersion: v1 kind: Secret metadata: name: ${INSTANCE_NAME}-secret stringData: public.pem: ${PUBLIC_DATA} type: Opaque - apiVersion: v1 kind: ConfigMap metadata: name: ${INSTANCE_NAME}-config data: application.conf: |- server { port = 9096 } pcrf { host = ${PCRF_HOST} port = 7070 timeout = 100 } validation { public_key = /etc/eltex-disconnect-service/keys/public.pem } log4j2.xml: |- <?xml version="1.0" encoding="UTF-8"?> <Configuration> <Properties> <Property name="defaultPattern" value="%d{ISO8601} [%t] %-5p %logger{1} %C{1}.%M(line:%L). %m%n"/> </Properties> <Appenders> <Console name="STDOUT" target="SYSTEM_OUT"> <PatternLayout> <Pattern>${defaultPattern}</Pattern> </PatternLayout> </Console> </Appenders> <Loggers> <Root level="info"> <AppenderRef ref="STDOUT"/> </Root> </Loggers> </Configuration> - apiVersion: apps.openshift.io/v1 kind: DeploymentConfig metadata: labels: app: ${INSTANCE_NAME} name: ${INSTANCE_NAME} spec: replicas: 1 selector: app: ${INSTANCE_NAME} strategy: type: Rolling template: metadata: labels: app: ${INSTANCE_NAME} spec: containers: - name: ${INSTANCE_NAME}-container image: ${IMAGE_NAME} imagePullPolicy: Always livenessProbe: httpGet: path: /actuator/health port: 9096 scheme: HTTP initialDelaySeconds: 30 volumeMounts: - name: config-volume mountPath: /etc/eltex-disconnect-service/log4j2.xml subPath: log4j2.xml - name: config-volume mountPath: /etc/eltex-disconnect-service/application.conf subPath: application.conf - name: secret-volume mountPath: /etc/eltex-disconnect-service/keys volumes: - name: config-volume configMap: name: ${INSTANCE_NAME}-config items: - key: log4j2.xml path: log4j2.xml - key: application.conf path: application.conf - name: secret-volume secret: secretName: ${INSTANCE_NAME}-secret triggers: - type: ConfigChange - apiVersion: v1 kind: Service metadata: name: ${INSTANCE_NAME}-service spec: ports: - port: 9096 protocol: TCP selector: app: ${INSTANCE_NAME} - apiVersion: v1 kind: Route metadata: name: ${INSTANCE_NAME}-route spec: to: kind: Service name: ${INSTANCE_NAME}-service parameters: - name: INSTANCE_NAME displayName: Name of service description: Name of service in openshift required: true value: eltex-disconnect - name: IMAGE_NAME displayName: Image name description: Image name or pull spec required: true value: hub.eltex-co.ru/softwlc/eltex-disconnect-service:latest - name: PCRF_HOST displayName: PCRF host description: PCRF host required: true value: localhost - name: PUBLIC_DATA displayName: public.pem description: Contents of public.pem required: true message: "... The Eltex Disconnect with name ${INSTANCE_NAME} is starting ..."