Прокси для API пробок | On‑Premise | 2GIS Documentation
On‑Premise
Личный кабинет

Установка прокси для API пробок

Важное примечание:

Все пароли и ключи в этом разделе приведены в иллюстративных целях.

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

  1. По возможности познакомьтесь с:

  2. Убедитесь, что выполнены необходимые предварительные шаги:

    1. Подготовка к установке
    2. Получение артефактов установки
    3. Установка сервиса лицензий
    4. Установка сервиса ключей
  3. Соберите необходимые данные, заданные или полученные на предыдущих шагах:

    Объект Пример значения Как получить значение
    Эндпоинт зеркала реестра Docker docker.storage.example.local:5000 См. Получение артефактов установки
    Секрет Kubernetes для доступа к зеркалу реестра Docker onpremise-registry-creds См. Получение артефактов установки
  4. Убедитесь, что удовлетворены требования к ресурсам, приведенные в Helm-чарте. Подробнее о том, как это сделать, смотрите в документе Системные требования.

Примечание

Содержание Helm-чарта, описанное в данном разделе, актуально для последней версии On-Premise (см. Релизы). Чтобы изучить параметры для более ранних версий, откройте values.yaml в GitHub и введите номер нужной версии комплекса (например, 1.18.0) в переключателе тегов слева.

  1. Создайте конфигурационный файл для Helm. Подробное описание доступных параметров см. здесь.

    Пример файла уже заполнен всеми необходимыми данными, собранными на предыдущих этапах.

    values-traffic-proxy.yaml
    dgctlDockerRegistry: docker.storage.example.local:5000
    
    replicaCount: 1
    
    proxy:
        host: https://traffic-jams.2gis.com
        worker:
            processes: 2
            connections: 1024
        log:
            customFormats: []
            # - name: small
            #   escape: json
            #   format: |
            #     '{"time_local":"$time_local",'
            #     '"remote_addr":"$remote_addr",'
            #     '"request":"$request",'
            #     '"status":"$status",'
            #     '"host":"$host"}'
            errorLog:
                level: error
    
            accessLog: off
            # accessLog: '/dev/stdout main'
    
        keepaliveTimeout: 65
    
        locations: []
        # - path: /test/
        #   definition: |
        #     default_type text/html;
        #     return 200 "<!DOCTYPE html><h2>test page</h2>\n";
    
        httpServers:
            {}
            # examplecfg: |
            # server {
            #   listen 0.0.0.0:8080;
    
            #   location / {
            #       default_type text/html;
            #       return 200 "<!DOCTYPE html><h2>test page</h2>\n";
            #   }
            # }
    
    resources:
        requests:
            cpu: 10m
            memory: 32Mi
        limits:
            cpu: 500m
            memory: 256Mi
    
    ingress:
        enabled: true
        className: nginx
        hosts:
            - host: traffic-proxy.example.com
              paths:
                  - path: /
                    pathType: Prefix
        tls: []
        #- hosts:
        #  - traffic-proxy-api.example.com
        #  secretName: secret.tls
    

    Где:

    • dgctlDockerRegistry: эндпоинт вашего реестра Docker, в котором находятся образы сервисов программного комплекса 2ГИС.
    • replicaCount: число реплик сервиса NGINX.
    • proxy: настройки прокси-сервера.
      • host: FQDN публичного сервера обновлений для пробок 2ГИС. Список доступных серверов приведен в разделе Архитектура.
      • worker: настройки рабочих процессов.
        • processes: количество рабочих процессов.
        • connections: количество соединений на одном рабочем процессе.
      • log: настройки логирования.
        • customFormats: список форматов записей логов для использования в конфигурации NGINX.
        • errorLog.level: уровень логирования ошибок. Допустимые значения: debug, info, notice, warn, error, crit, alert, emerg.
        • accessLog: логирование доступа.
      • keepaliveTimeout: таймаут keep-alive соединения.
      • locations: дополнительные блоки location, которые будут включены в конфигурацию NGINX.
      • httpServers: дополнительные блоки server, которые будут включены в конфигурацию NGINX.
    • resources: настройки вычислительных ресурсов для сервиса. Чтобы узнать рекомендуемые значения ресурсов, см. Вычислительные ресурсы.
    • ingress: конфигурация ресурса Ingress. Адаптируйте приведенную конфигурацию для соответствия используемому вами Ingress. Обратите внимание, что путь для хоста должен указывать на /.
  2. Установите сервис с помощью Helm, используя подготовленный конфигурационный файл values-traffic-proxy.yaml:

    helm upgrade --install --atomic --wait-for-jobs --values ./values-traffic-proxy.yaml traffic-proxy 2gis-on-premise/traffic-proxy
    

Чтобы проверить работоспособность прокси для API пробок, откройте в браузере адрес, указанный в параметре ingress.hosts.host. Сервис должен вернуть список файлов с данными о пробках.

Или же можно проверить работоспособность другого сервиса, настроенного на использование установленного прокси для API пробок.

Что дальше?