Kubernetes Integration
Monitor your Kubernetes clusters with OpenTelemetry
Overview
The Kubernetes integration uses the OpenTelemetry Collector to gather logs, metrics, and traces from your cluster. This provides comprehensive observability for your containerized workloads.
Prerequisites
- A running Kubernetes cluster (v1.19+)
- kubectl configured to access your cluster
- Helm 3.x installed
- Your Qorrelate API key and organization ID
1. Deploy OpenTelemetry Collector
# Add the OpenTelemetry Helm repository
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
helm repo update
# Create a namespace for observability
kubectl create namespace observability
# Create a secret with your API key
kubectl create secret generic qorrelate-credentials \
--namespace observability \
--from-literal=api-key=YOUR_API_KEY \
--from-literal=org-id=YOUR_ORG_ID
# Install the collector
helm install otel-collector open-telemetry/opentelemetry-collector \
--namespace observability \
--values otel-collector-values.yaml2. Collector Configuration
Create otel-collector-values.yaml:
mode: daemonset
config:
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
exporters:
otlphttp:
endpoint: https://qorrelate.io
headers:
Authorization: Bearer ${QORRELATE_API_KEY}
X-Organization-Id: ${QORRELATE_ORG_ID}
service:
pipelines:
logs:
receivers: [otlp]
exporters: [otlphttp]
metrics:
receivers: [otlp]
exporters: [otlphttp]
traces:
receivers: [otlp]
exporters: [otlphttp]3. Instrument Your Applications
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
template:
spec:
containers:
- name: my-app
env:
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: "http://otel-collector.observability.svc:4317"
- name: OTEL_SERVICE_NAME
value: "my-app"Cluster Metrics
Deploy kube-state-metrics for cluster metrics:
helm install kube-state-metrics prometheus-community/kube-state-metrics \
--namespace observabilityVerifying the Integration
- Check collector pods:
kubectl get pods -n observability - View collector logs:
kubectl logs -n observability -l app.kubernetes.io/name=opentelemetry-collector - Check Qorrelate for your data
💡 Pro Tip
Use the Kubernetes Monitoring dashboard in Qorrelate for a pre-built view of cluster health.