Files
homelab/k8s/infra/tracing/tempo-deployment.yaml
T

114 lines
2.5 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: tempo
namespace: tracing
labels:
app.kubernetes.io/name: tempo
app.kubernetes.io/component: tracing
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: tempo
strategy:
type: Recreate
template:
metadata:
labels:
app.kubernetes.io/name: tempo
annotations:
reloader.stakater.com/auto: "true"
spec:
securityContext:
fsGroup: 10001
runAsNonRoot: true
runAsUser: 10001
containers:
- name: tempo
image: grafana/tempo:2.6.1
args:
- -config.file=/etc/tempo/tempo.yaml
ports:
- name: http
containerPort: 3200
protocol: TCP
- name: grpc
containerPort: 9095
protocol: TCP
- name: otlp-grpc
containerPort: 4317
protocol: TCP
- name: otlp-http
containerPort: 4318
protocol: TCP
volumeMounts:
- name: config
mountPath: /etc/tempo
- name: tempo-data
mountPath: /var/tempo
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 1Gi
readinessProbe:
httpGet:
path: /ready
port: http
initialDelaySeconds: 10
periodSeconds: 10
livenessProbe:
httpGet:
path: /ready
port: http
initialDelaySeconds: 30
periodSeconds: 30
volumes:
- name: config
configMap:
name: tempo-config
- name: tempo-data
persistentVolumeClaim:
claimName: tempo-data
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: tempo-data
namespace: tracing
spec:
accessModes:
- ReadWriteOnce
storageClassName: longhorn
resources:
requests:
storage: 10Gi
---
apiVersion: v1
kind: Service
metadata:
name: tempo
namespace: tracing
labels:
app.kubernetes.io/name: tempo
spec:
type: ClusterIP
ports:
- name: http
port: 3200
targetPort: http
- name: grpc
port: 9095
targetPort: grpc
- name: otlp-grpc
port: 4317
targetPort: otlp-grpc
- name: otlp-http
port: 4318
targetPort: otlp-http
selector:
app.kubernetes.io/name: tempo