Розгортання Kubernetes

Ми надаємо Helm-чарт OpenTelemetry Demo, щоб допомогти розгорнути демо на наявному кластері Kubernetes.

Для використання чартів необхідно встановити Helm. Будь ласка, зверніться до документації Helm, щоб почати.

Попередні вимоги

  • Kubernetes 1.24+
  • 6 ГБ вільної оперативної памʼяті для застосунку
  • Helm 3.14+ (тільки для методу встановлення Helm)

Додайте репозиторій Helm OpenTelemetry:

helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts

Щоб встановити чарт з імʼям релізу my-otel-demo, виконайте наступну команду:

helm install my-otel-demo open-telemetry/opentelemetry-demo

Встановлення за допомогою kubectl

Наступна команда встановить демонстраційний застосунок у ваш кластер Kubernetes.

kubectl apply --namespace otel-demo -f https://raw.githubusercontent.com/open-telemetry/opentelemetry-demo/main/kubernetes/opentelemetry-demo.yaml

Використання Demo

Для використання демонстраційного застосунку необхідно, щоб сервіси були доступні за межами кластера Kubernetes. Ви можете зробити сервіси доступними для вашої локальної системи за допомогою команди kubectl port-forward або налаштувавши типи сервісів (наприклад, LoadBalancer) з опціонально розгорнутими ресурсами ingress.

Експонування сервісів за допомогою kubectl port-forward

Щоб відкрити сервіс frontendproxy, використовуйте наступну команду (замініть my-otel-demo на відповідну назву релізу Helm-чарту):

kubectl port-forward svc/my-otel-demo-frontendproxy 8080:8080

З налаштованим port-forward для frontendproxy ви можете отримати доступ до:

Експонування компонентів Demo за допомогою конфігурацій сервісів або ingress

Налаштування ресурсів ingress

Кожен компонент демо (наприклад, frontendproxy) пропонує спосіб налаштування типу сервісу Kubernetes. Стандартно вони не будуть створені, але ви можете увімкнути та налаштувати їх через властивість ingress кожного компонента.

Щоб налаштувати компонент frontendproxy для використання ресурсу ingress, ви повинні вказати наступне у вашому файлі значень:

components: frontendProxy: ingress: enabled: true annotations: {} hosts: - host: otel-demo.my-domain.com paths: - path: / pathType: Prefix port: 8080

Деякі контролери ingress вимагають спеціальних анотацій або типів сервісів. Зверніться до документації вашого контролера ingress для отримання додаткової інформації.

Налаштування типів сервісів

Кожен компонент демо (наприклад, frontendproxy) пропонує спосіб налаштування типу сервісу Kubernetes. Стандартно вони будуть ClusterIP, але ви можете змінити кожен з них за допомогою властивості service.type кожного компонента.

Щоб налаштувати компонент frontendproxy для використання типу сервісу LoadBalancer, ви повинні вказати наступне у вашому файлі значень:

components: frontendProxy: service: type: LoadBalancer

Налаштування телеметрії оглядача

Для правильного збору відрізків з оглядача вам також потрібно вказати місце, де буде розташований OpenTelemetry Collector. Компонент frontendproxy визначає маршрут для колектора з префіксом шляху /otlp-http. Ви можете налаштувати точку доступу колектора, встановивши наступну змінну середовища на компоненті frontend:

components: frontend: envOverrides: - name: PUBLIC_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT value: http://otel-demo.my-domain.com/otlp-http/v1/traces

Використання власного бекенду

Ймовірно, ви хочете використовувати вебмагазин як демонстраційний застосунок для наявного бекенду спостережуваності (наприклад, наявного екземпляра Jaeger, Zipkin або одного з вибраних вами постачальників).

Конфігурація OpenTelemetry Collector доступна в Helm-чарті. Будь-які додавання, які ви зробите, будуть обʼєднані зі стандартною конфігурацією. Ви можете використовувати це для додавання власних експортерів і додавання їх до потрібних конвеєрів.

opentelemetry-collector: config: exporters: otlphttp/example: endpoint: <your-endpoint-url> service: pipelines: traces: exporters: [spanmetrics, otlphttp/example]

Постачальники бекендів можуть вимагати додавання додаткових параметрів для автентифікації, будь ласка, зверніться до їх документації. Деякі бекенди вимагають різних експортерів, ви можете знайти їх і їх документацію на opentelemetry-collector-contrib/exporter.

Щоб встановити Helm-чарт з власним файлом значень my-values-file.yaml, використовуйте:

helm install my-otel-demo open-telemetry/opentelemetry-demo --values my-values-file.yaml

Змінено December 26, 2024: Add Ukrainian documentation for demo (89982ad6)