Jaeger — это программное обеспечение, которое используется для отслеживания и устранения проблем во взаимосвязанных программных компонентах, называемых микросервисами. Несколько микросервисов взаимодействуют между собой для выполнения единой программной функции.
Разработчики используют Jaeger для визуализации цепочки событий при взаимодействии микросервисов, чтобы изолировать проблему, когда что-то идёт не так, как нужно. Это также называется трассировкой Jaeger, потому что отслеживает или намечает путь запроса через серию взаимодействий между микросервисами.
Установка состоит из трёх этапов:
- Загрузка Helm-чарта и конфигурационного файла.
- Заполнение конфигурационного файла.
- Установка чарта Jaeger с помощью Helm в Kubernetes-кластер.
Шаг 1: Загрузка Helm-чарта и конфигурационного файла
Для установки через интернет получите конфигурационный файл values-jaeger.yaml
, выполнив команду:
helm repo add elma365 https://charts.elma365.tech
helm repo update
helm show values elma365/jaeger > values-jaeger.yaml
Получение конфигурационного файла для установки в закрытом контуре без доступа в интернет
helm repo add elma365 https://charts.elma365.tech
tar -xf jaeger-X.Y.Z.tgz |
Шаг 2: Заполнение конфигурационного файла
Заполните конфигурационный файл values-jaeger.yaml
для установки 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 нужно:
## Настройки jaeger где формат repository:
|
Шаг 3: Установка чарта Jaeger с помощью Helm в Kubernetes-кластер
Выполните установку чарта Jaeger в namespace monitoring
.
Для установки через интернет выполните команду:
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 в namespace monitoring
, выполните команду:
helm uninstall jaeger -n monitoring