examples/otel-demo/README.md
This example provides a one-command deployment of a complete observability stack on Kubernetes:
It is driven by deploy-all.sh, which supports both clean installs and upgrades.
kubectlbash, git, curl, kubectl, helm./deploy-all.sh clean
./deploy-all.sh
# or explicitly
./deploy-all.sh upgrade
./deploy-all.sh upgrade <image-tag>
# Example
./deploy-all.sh upgrade latest
Environment variables:
ROLLOUT_TIMEOUT=900 ./deploy-all.sh clean
opensearch:
jaeger:
otel-demo:
kubectl get pods -n opensearch
kubectl get pods -n jaeger
kubectl get pods -n otel-demo
kubectl get svc -n opensearch
kubectl get svc -n jaeger
kubectl get svc -n otel-demo
./start-port-forward.sh
opensearch-values.yamlopensearch-dashboard-values.yamljaeger-values.yamljaeger-config.yamlotel-demo-values.yamljaeger-query-service.yamlYou can adjust these files and re-run ./deploy-all.sh upgrade to apply changes.
The Jaeger deployment uses jaeger-config.yaml to configure the Jaeger v2
jaeger_storage extension against the in-cluster OpenSearch service. The Helm
chart storage type is set to elasticsearch for compatibility with the chart's
persistent-storage wiring, while the Jaeger runtime config points at OpenSearch.
./cleanup.sh
helm uninstall opensearch -n opensearch || true
helm uninstall opensearch-dashboards -n opensearch || true
helm uninstall jaeger -n jaeger || true
helm uninstall otel-demo -n otel-demo || true
kubectl delete namespace opensearch jaeger otel-demo --ignore-not-found=true