﻿# Установка Jaeger

> [HTML Version](installation-jaeger.html)

Jaeger —  это программное обеспечение, которое используется для отслеживания и устранения проблем во взаимосвязанных программных компонентах, называемых микросервисами. Несколько микросервисов взаимодействуют между собой для выполнения единой программной функции.

Разработчики используют Jaeger для визуализации цепочки событий при взаимодействии микросервисов, чтобы изолировать проблему, когда что-то идёт не так, как нужно. Это также называется трассировкой Jaeger, потому что отслеживает или намечает путь запроса через серию взаимодействий между микросервисами.

Для работы с трейсами вы также можете использовать инструмент [Tempo](install-tempo.md).

Установка Jaeger состоит из трёх этапов:

1. [Загрузка Helm-чарта и конфигурационного файла](#download-helm-chart-and-config-file).

2. [Заполнение конфигурационного файла](#fill-config-file).

3. [Установка чарта Jaeger с помощью Helm в Kubernetes-кластер](#install-jaeger-chart).

## Шаг 1. Загрузка Helm-чарта и конфигурационного файла

Для установки через интернет получите конфигурационный файл \[OBJECT\], выполнив команду:

````
helm repo add elma365 https://charts.elma365.tech  
helm repo update  
helm show values elma365/jaeger > values-jaeger.yaml

````
Получение конфигурационного файла для установки в закрытом контуре без доступа в интернет

1. На компьютере с доступом в интернет загрузите архив актуальной версии (latest) чарта Jaeger из репозитория ELMA365, выполнив следующую команду:

````
helm repo add elma365 https://charts.elma365.tech  
helm repo update  
helm pull elma365/jaeger

2. ````
Полученный архив чарта \[OBJECT\] скопируйте на сервер, где будет производиться установка.

3. Распакуйте этот чарт и скопируйте конфигурационный файл по умолчанию \[OBJECT\] в \[OBJECT\]:

````
tar -xf jaeger-X.Y.Z.tgz  
cp jaeger/values.yaml values-jaeger.yaml
````

## ````
Шаг 2. Заполнение конфигурационного файла

Заполните конфигурационный файл \[OBJECT\] для установки Jaeger.

````
\# Настройки jaeger  
jaeger:  
  resources:  
    requests:  
      cpu: 100m  
      memory: 256Mi  
    limits:  
      cpu: 500m  
      memory: 8Gi  
  tolerations:  
    - effect: NoSchedule  
      key: dedicated  
      operator: Equal  
      value: monitoring  
  service:  
    name: jaeger-nodeport  
    # Порт для доступа к jaeger при выключенном ingress  
    nodePort: 32121  
  ingress:  
    # включение host в ingress  
    enabled: false  
    className: ""  
    annotations:  
      kubernetes.io/ingress.class: nginx  
    # аннотации для работы cert-manager  
    # certmanager.io/cluster-issuer: letsencrypt  
    hosts:  
      # домен (FQDN), по которому будет доступна система  
      - host: example.ru  
        paths:  
          - path: /  
            pathType: ImplementationSpecific  
     # включение шифрования, при использовании cert-manager указать используемый secretName letsencrypt  
\#    tls:  
\#      - secretName: example-ru-cert  
\#        hosts:  
\#          - example.ru  
  # включить создание secret с собственными сертификатами  
  # указать путь до сертификата в строках key: и cert:  
  secret:  
    enabled: false  
    key: "files/my\_cert.key"  
    cert: "files/my\_cert.crt"  
  # Чтобы предотвратить проблему нехватки памяти задайте целочисленное значение трассировки  
  memory\_max\_traces: 50000  
  # количество реплик для обеспечения высокой доступности  
  replicaCount: 1  
...

````
Заполнение параметров подключения к приватному registry для установки в закрытом контуре без доступа в интернет

  
Для подключения к приватному **registry** нужно:

1. Скачать образы ELMA365 и загрузить их в локальный реестр образов. Подробнее об этом читайте в статье [«Загрузка образов ELMA365»](downloadin-images-elma365.md).

2. Задать адрес и путь для параметра \[OBJECT\].

3. Указать наименование секрета с правами доступа к приватному **registry** в параметре \[OBJECT\]. Секрет должен быть создан вручную и зашифрован в Base64.

````
\# Настройки jaeger  
jaeger:  
...  
  # параметры подключения к приватному registry  
  image:  
    # адрес и путь для приватного registry  
    repository: registry.example.com/jaeger  
    tag: "1.47"  
  # секрет с правами доступа к приватному registry должен быть создан вручную, зашифрованный в Base64  
  pullSecrets:  
    - myRegistryKeySecretName

````
  
Где формат **repository**:

- адрес — \[OBJECT\];

- путь — \[OBJECT\].

## Шаг 3. Установка чарта Jaeger с помощью Helm в Kubernetes-кластер

Выполните установку чарта Jaeger в \[OBJECT\].

Для установки через интернет выполните команду:

````
helm upgrade --install jaeger elma365/jaeger -f values-jaeger.yaml -n monitoring

````
Для офлайн-установки без доступа в интернет перейдите в каталог с загруженным чартом и выполните команду:

````
helm upgrade --install jaeger ./jaeger -f values-jaeger.yaml -n monitoring

## ````
Удалить чарт Jaeger с помощью Helm в Kubernetes-кластере

Чтобы удалить чарт jaeger в \[OBJECT\], выполните команду:

````
helm uninstall jaeger -n monitoring
````