Go microservice template for Kubernetes
docker pull otel/opentelemetry-collector-contrib
docker run -d --name podinfo -p 9898:9898 --restart always otel/opentelemetry-collector-contrib:0.116.1
podman run -d --name podinfo -p 9898:9898 --restart always otel/opentelemetry-collector-contrib:0.116.1
skopeo inspect docker://docker.io/otel/opentelemetry-collector-contrib:0.116.1
oras pull otel/opentelemetry-collector-contrib:0.116.1
docker compose up -d
version: '2'
services:
podinfo_frontend:
build: ..
command: ./podinfo --backend-url http://podinfo_backend:9899/status/200 --otel-service-name=podinfo_frontend
environment:
- OTEL_EXPORTER_OTLP_ENDPOINT=http://otel:4317
ports:
- "9898:9898"
podinfo_backend:
build: ..
command: ./podinfo --port 9899 --otel-service-name=podinfo_backend
environment:
- OTEL_EXPORTER_OTLP_ENDPOINT=http://otel:4317
ports:
- "9899:9899"
otel:
command: --config otel-config.yaml
image: otel/opentelemetry-collector-contrib:0.116.1
ports:
- "4317:4317"
volumes:
- ${PWD}/otel-config.yaml:/otel-config.yaml
loki:
image: grafana/loki:3.0.0
ports:
- "3100:3100"
command: -config.file=/etc/loki/local-config.yaml
grafana:
image: grafana/grafana:10.4.0
ports:
- "3000:3000"
environment:
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
volumes:
- ${PWD}/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
jaeger:
image: jaegertracing/all-in-one:1.57.0
ports:
- "16686:16686"