Installing Traffic API Proxy
Important note:
All passwords and keys in this section are given for illustration purposes.
During a real installation, it is recommended to use more complex and reliable passwords.
1. Before installing
-
Consider getting familiar with:
-
Make sure the necessary preparation steps are completed:
-
Collect the necessary information that was set or retrieved on previous steps:
Object Example value How to get value Docker Registry mirror endpoint docker.storage.example.local:5000
See Fetching installation artifacts Kubernetes secret for accessing Docker Registry onpremise-registry-creds
See Fetching installation artifacts -
Make sure that the resource requirements specified in the Helm chart are met. For more information on how to do this, refer to the System requirements document.
Note
Contents of the Helm chart described in this chapter are relevant for the latest On-Premise version (see Release notes). To find parameters for earlier versions, open values.yaml on GitHub and enter the required version number (for example, 1.18.0) in the tag switcher on the left.
2. Install Traffic API Proxy service
-
Create a Helm configuration file. See here for more details on the available settings.
The example is prefilled with the necessary data collected on previous steps.
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
Where:
dgctlDockerRegistry
: your Docker Registry endpoint where On-Premise services' images reside.replicaCount
: number of the NGINX service replicas.proxy
: proxy server settings.host
: FQDN of a public Traffic Update server. For the list of available servers, see the Architecture section.worker
: worker settings.processes
: number of worker processes.connections
: number of worker connections.
log
: logging settings.customFormats
: list of custom log formats to use in NGINX configuration.errorLog.level
: error logging level. Allowed values:debug
,info
,notice
,warn
,error
,crit
,alert
,emerg
.accessLog
: access logging.
keepaliveTimeout
: keep-alive timeout.locations
: additionallocation
blocks, which are included in the NGINX configuration.httpServers
: additionalserver
blocks, which are included in the NGINX configuration.
resources
: computational resources settings for the service. To find out recommended resource values, see Computational resources.ingress
: configuration of the Ingress resource. Adapt it to your Ingress installation. Note that the path for the host should point to the root:/
.
-
Deploy the service with Helm using created
values-traffic-proxy.yaml
configuration file:helm upgrade --install --atomic --wait-for-jobs --values ./values-traffic-proxy.yaml traffic-proxy 2gis-on-premise/traffic-proxy
3. Test deployment
To test the operability of the service, open the ingress.hosts.host
address from a browser.
The service should return a list of files containing traffic data.
Alternatively, test the deployment of an On-Premise service that uses the Traffic Proxy service.
What's next?
-
Find out how to update the service:
-
Install other On-Premise products: