Розгортання 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 create --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

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

kubectl --namespace default port-forward svc/frontend-proxy 8080:8080

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

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

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

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

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

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

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

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

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

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

components: frontend-proxy: service: type: LoadBalancer

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

Для правильного збору відрізків з оглядача вам також потрібно вказати місце, де буде розташований OpenTelemetry Collector. Компонент frontend-proxy визначає маршрут для колектора з префіксом шляху /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

Востаннє змінено June 21, 2025: [uk] sync with upstream (2d6f8511)